我正在对我的服务器进行 Ajax 调用,并且需要发送一个数组。我正在使用 JSON 对数组进行编码。这导致使用 POST 请求将此数据发送到服务器:
selection=%5B%221%22%5D
在服务器上,我有以下代码:
echo urldecode($_REQUEST['selection']);
这导致:
[\"1\"]
请注意,请求中没有反斜杠。我用 Firefox 的开发工具检查了这一点。
反斜杠是在哪里添加的?我在这里做错了吗?我无法像这样解码字符串。
这是客户端代码:
$.ajax({
type: "POST",
url: "<my-uri>/rule/add.php",
data: {
selection: JSON.stringify(["1"]) // in reality this is a variable array
}
}).done(function(data){
alert(data);
});