The*_*ver 1 javascript ajax jquery
我正在通过我的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;
Run Code Online (Sandbox Code Playgroud)
然后像这样发送呼叫:
$.ajax({
type : 'GET',
url : 'ajax/createFolderID.asp',
dataType : 'html',
data : postData,
success : function() { do something },
complete : function() { do something },
error : function() { do something }
});
Run Code Online (Sandbox Code Playgroud)
问题是,其中一个查询字符串值"event_name"来自用户输入.如果用户输入&符号,则postData字符串会断开,并且不会在该符号后发送任何内容.
示例案例:&event_name = D&G服装发布会&set_menu =现有...
我明白出了什么问题,但不太确定最好的解决方案是什么.我是否将这些字符转换为其他字符,或者有没有办法逃避它们?此外,是否还有其他任何会对脚本造成伤害的字符,如加号(+)或减号( - )符号或撇号(')?
逃避你的每一个价值观.
var postData = "aid="+escape(aid)+"&lid="+escape(lid) ... ;
Run Code Online (Sandbox Code Playgroud)