我有一个ajax调用
$.ajax({
url: 'url¶1=' + JSON.stringify(obj),
type: 'POST',
async: true,
contentType: 'application/json',
data: {},
success: function(data){
},
error: function(error){
}
});
在网址中,我为每%22
"
如何逃脱?
答案 0 :(得分:3)
也许这会有所帮助
url: 'url¶1=' + encodeURIComponent(JSON.stringify(obj)),
答案 1 :(得分:1)
%22 是双引号的“转义”值。这是在URI中发送数据的可接受方式。你到底遇到了什么问题?
答案 2 :(得分:1)
JSON.stringify将对象转换为字符串。但是,带引号的字符串必须转换为URL编码字符串(请参阅superrafal的答案)。
但是,如果这是一个POST请求,为什么要将URL中的参数作为查询字符串(?key = value)发送,就像GET请求一样? data参数设置为空白对象。如果您希望将URL中的这些值作为GET发送,请将类型更改为GET,删除“data”参数,并使用$ .param(obj)将该对象转换为查询字符串。如果您希望将这些值作为POST发送,请使用以下命令:
$.ajax({
url: "url_to_file_to_accept_POST_request",
type: "POST",
data: obj,
success: function(data) {
},
error: function(error) {
}
});