我通过 AJAX 调用发送了很多值,如下所示:
var postData = "aid="+aid+"&lid="+lid+"&token="+token+"&count="+count+"&license="+license;
postData = postData + "&category="+category+"&event_name="+event_name+"&set_menu="+set_menu;
postData = postData + "&set_id="+set_id+"&location="+location+"&delay="+delay;
然后像这样发送调用:
$.ajax({
type : 'GET',
url : 'ajax/createFolderID.asp',
dataType : 'html',
data : postData,
success : function() { do something },
complete : function() { do something },
error : function() { do something }
});
问题是,其中一个查询字符串值“event_name”来自用户输入。如果用户输入一个和号 (&) 符号,postData 字符串将中断并且不会在该符号后发送任何内容。
Example case: &event_name=D&G Clothing Launch Party&set_menu=existing...
我知道出了什么问题,但不太确定最好的解决方法是什么。我是否将这些字符转换为其他字符,还是有办法转义它们?另外,是否还有任何其他字符会对脚本造成伤害,例如加号 (+) 或减号 (-) 或撇号 (')?
最佳答案
逃避你的每一个值(value)观。
var postData = "aid="+escape(aid)+"&lid="+escape(lid) ... ;
关于javascript - jQuery AJAX/使用符号发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9102849/