【发布时间】:2012-07-11 06:50:15
【问题描述】:
我正在通过 jQuery 对 GET 服务方法进行 Ajax 调用。问题是使用的参数值可以包含/ 字符,所以我决定使用encodeURIComponent() 方法从参数中转义特殊字符。结果是/ 字符被转换为%5,并且试图在Ajax 请求中使用转义参数。我的代码看起来像:
var id = "some/id";
$.ajax({
url: "http://www.mywebsite.com/getValue/" + encodeURIComponent(id),
dataType: "text",
type: 'GET',
async: true,
cache: false,
success: function (response, textStatus, jqXHR) {
alert("success");
},
error: function (jqXHR, textStatus, errorThrown) {
alert("error");
}
});
不知何故 jQuery unescapes uri 值,没有调用服务器,我收到错误代码 404 error(如果参数中没有 /,调用工作正常。
知道如何在 Ajax 调用中发送此类参数,或者我的代码有什么问题吗?
【问题讨论】:
标签: jquery ajax encodeuricomponent