我注意到某些字符在文本框中输入并通过Jquery Ajax请求发送 因为错误正在被误解。 (至少从我的观点来看)。 “&”创造一个新的不受欢迎的parm。 “+”完全消失。
我想获得文本框的值并转换为html实体。我想是这样的事情:
SafeParm = $(“#myDIV”)。val()。html();
欢迎任何其他建议使用jQuery进行安全的ajax调用。
答案 0 :(得分:2)
使用想要转义函数:
SafeParm = escape($("#myDIV").val().html());
答案 1 :(得分:2)
在这种情况下,encodeURIComponent就是你想要的。有一些奇怪的边缘情况,escape
可能无法完全按照您的意愿行事。请参阅:http://xkr.us/articles/javascript/encode-compare/
答案 2 :(得分:0)
您必须对传递给请求的参数进行编码。
请参阅Encoding html using javascript's escape & unescape
您可以转义$("#myDIV").val()
,其中myDiv是您文本框的ID。
答案 3 :(得分:0)
escape
已弃用。使用encodeURI
和encodeURIComponent
。