javascript - jQuery AJAX/使用符号发布数据

标签 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;

然后像这样发送调用:

$.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/

相关文章:

javascript - React 应用程序是否应该在文件刷新时进行完全刷新?

javascript - Jquery ajax post 在表单提交上创建第二个表单

javascript - 动画调整 jquery 对话框的内容

javascript - Ajax 附加元素不会与 masonry.js 定位的类似元素对齐

javascript - 循环将数组中的元素移到末尾

javascript - 使单个页面的浏览器缓存无效

php - 谷歌地图 - 查找给定半径内的所有标记 Javascript/Php

javascript - ajax 更新后 Jquery masonary 格式更改

javascript - ajax 代码没有在后台将我导航到 url

javascript - JQuery 模态对话框表单回发问题