如何使用 GET 作为方法将括号“%5B”“%5D”作为 Ajax 请求上的参数发送

How do I send brackets "%5B" "%5D" as params on an Ajax Request using GET as method?

本文关键字:%5D Ajax 作为 请求 参数 %5B GET 何使用 方法      更新时间:2023-09-26

使用 Ajax 和方法 GET,我尝试发送一个带括号的 url,但我没有得到正确的编码:

Request URL:http://myurl/search.html?_dc=1382510050331&search%5Bpostcode%5D=96231

而不是:

Request URL:http://myurl/search.html?_dc=1382510050331&search[postcode]=96231

错误:

Status Code:502 Host not found

这是我的代码片段:

Ext.Ajax.request({
    url: 'http://myulr.lan/fpsearchjson.html',
    method: 'GET',
    params: {
        "geosearch[postcode]":91111
    },
    success: function(response){
        console.log("success");
    },
    failure: function(response){
        console.log("failure");
    }
});

任何帮助将不胜感激!

%5B%5D[] 的 url 编码值。这应该像在您的示例中一样进行编码。

问题似乎是您无法访问服务器。尝试以任何方式访问服务器。也许在您喜欢的浏览器中打开 URL 或远程登录:telnet my.server.com 80

您需要转换您的 Get 请求,尽管 ajax 应该首先转换为 ASCII,同样的问题发生在我身上,我通过将我的 GET 请求转换为 ASCII 并再次解码以用于:)来解决它

您可以使用转义函数对网址和参数进行编码、解码。另一方面,您可以轻松地以原始格式
获得该值例如

escape("It's me!") // result: It%27s%20me%21