Jquery ajax whitespace和&符问题

Ste*_*ieB 13 ajax jquery encoding character-encoding

我正在做这样的事情

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);
Run Code Online (Sandbox Code Playgroud)

除了我有"&"之外,它适用于所有的一切,所以在&符号周围留出空间.所以请求参数看起来像"D+&+D,+enterprisess"D+%26+D%2C.然后,这将在服务器上返回404.

知道该怎么做吗?

RBo*_*ini 2

对于ajax中传递带有空格和特殊字符的参数,可以使用escape和unescape函数。

\n\n
var test = 'Exemplae Act\xc3\xa3o \xc3\xa7 @#$%$ ';\nvar testEscape = escape(test);\nconsole.info(test , testEscape ,  unescape(testEscape ));\n
Run Code Online (Sandbox Code Playgroud)\n\n

这解决了你的问题

\n