获取错误以在查询字符串值中传递#

时间:2010-06-15 19:26:58

标签: jquery

当我传递#conli

时,我收到了jquery错误
     var url = "/CheckVol/SaveItem?status=" + status + "&name=" + name ;
 $.post(url, function(data) {

});

这里的名字包含'我的名字#pankaj#lohani#india',这是创造错误。

2 个答案:

答案 0 :(得分:2)

如果你使用空格,#,或?还有其他一些角色。在查询字符串值中,必须对它们进行编码。 #字符可以编码为uisng%23。然而尼克的评论是正确的。你已经做了一个帖子。为什么不在发布的数据中包含您的Querystring?

您需要对#using%23

进行编码

类似这样的事情

name = name.replace("#", "%23");

var url = "/CheckVol/SaveItem?status=" + status + "&name=" + name ; 

答案 1 :(得分:2)

可以使用encodeURIComponent() 对其进行编码,如下所示:

var url = "/CheckVol/SaveItem?status=" + encodeURIComponent(status) + 
                              "&name=" + encodeURIComponent(name);
$.post(url, function(data) { });

但最好发布实际数据,如下:

$.post("/CheckVol/SaveItem", { status: status, name: name }, function(data) { });

这需要服务器在这里寻找它,但我认为这是一个更合适的解决方案。