我正在做这样的事情
var apiOptions = {
url: url,
dataType: 'jsonp',
type: "GET",
success: success
};
if(dataOptions) {
apiOptions.data = {
key: self.settings.key,
limit: self.limit,
address: dataOptions.address,
};
}
$.ajax(apiOptions);
它适用于所有事情,除非我有" &安培; ",所以在&符号周围留出空间。因此,请求参数看起来像"D+&+D,+enterprisess"
或D+%26+D%2C
。然后在服务器上返回404。
知道该怎么做吗?
答案 0 :(得分:2)
对于ajax中包含空格和特殊字符的传递参数,您可以使用escape和unescape函数。
var test = 'Exemplae Actão ç @#$%$ ';
var testEscape = escape(test);
console.info(test , testEscape , unescape(testEscape ));
这解决了你的问题
答案 1 :(得分:1)
尝试将String.prototype.replace()
与RegExp()
/\s(&)\s/
var data = "123 & abc";
var res = data.replace(/\s(&)\s/, "$1");
console.log("data:", data,"res:", res)