日期:2014-05-16  浏览次数:20798 次

在FireFox下,jQuery.post取不到值的问题,求解!
jQuery代码:
	$.post("/mod/noc/Policy.asp?t=SaveNewPolicy&PolicyID=-1&m=" + new Date().getTime(),
{PolicyName: $("#PolicyName").val() ,ParamCharset: "gb2312"},
function(data) {
if (data == "1") {
    alert("成功添加一个策略,请耐心等待数据更新...");
window.location.reload();
    //location.reload(location.href);
}
else if(data=="-1")
{
window.location="mod/logon.asp?returnurl=" + location.href;
}
else 
{
       alert("操作失败,请稍候再试...");
     }
}
);





在后台用Request.Form取值,发现竟然是空的,但在IE里却是正常的。

不知道该如何处理。

------解决方案--------------------
两者是一样的
------解决方案--------------------
引用:
引用:一般 gb2312编码用escape编码比较好,utf-8用encodeURIComponent,个人意见

不是这个意思,我的意思是指写成"PolicyName=" + escape($("#PolicyName").val()) + '&ParamCharset=gb2312',和用{}括起来,这个有什么差别。
    ……


1#我没说清楚,默认jq编码是encodeURIComponent,传递非string类型的数据,jq会自动帮你组合成键值对的形式,此时调用的是encodeURIComponent来编码

传递string类型的数据,不会再次编码,直接发送,所以自己用escape编码下数据,要不会出乱码