今天在项目中用ajax post 传递参数到后台,发现我的密码后面带+这个特殊符号,结果在后台发现+号传递不过来,最后查资料发现+在js里面代表空格,很多特殊符号在js里面都有不同的代表,找了一些资料,最后用一个见到的方法就能解决这个问题。用js自带的encodeURIComponent()方法重新编码参数,示例代码如下:
$.ajax({
type:"post",
dataType:"json",
url:"admin_ChangeEmail?email="+email+"&password="+encodeURIComponent(password)+"&validPeriod="+validPeriod,
success:function(data){
if(data=="success"){
$("#email-modal").modal("hide");
$("#email-success-modal").modal("show");
}else{
$("#email-error-modal").modal("show");
}
}
});