我正在尝试通过发送 POST 请求fetch。以前我为此目的使用了 jquery。$.ajax
这是我的代码:
fetch("/", {
method: 'POST',
headers: {
"Content-type": "application/x-www-form-urlencoded; charset=UTF-8"
},
body: 'mode=ajax&action=delete_opt&opt=' + this.arr_opt_to_delete
})
.then(response => response.json())
.then(data => {
console.log(data);
})
在接收代码中,在 PHP 脚本中,我输出到一个文件:
file_put_contents("/home/web/ing.txt", print_r($_POST, true), FILE_APPEND);
我得到了结果:
Array
(
[mode] => ajax
[action] => delete_opt
[opt] => ite,koni,vio
)
以前,我使用 jquery$.ajax并按预期收到了一个数组。添加代码:
$.ajax("/", {
cache: false,
data: {
"mode": "ajax",
"action": "delete_opt",
"opt": this.arr_opt_to_delete
},
dataType: "json",
type: "POST",
success: function(dt) {
console.log(dt);
},
error: function() {
alert("err55");
}
});
正如预期的那样,我得到了:
Array
(
[mode] => ajax
[action] => delete_opt
[opt] => Array
(
[0] => ite
[1] => koni
[2] => vio
)
)
$.ajax为什么数据来自jquery [opt],因为它应该在一个数组中,并且通过fetch我得到一个字符串ite,koni,vio?如何实现它们[opt]通过数组排列fetch?
区别在于不同的内容类型。
因此,您需要使其相同并以相同的形式传递值
,或者正确组织当前content-type的参数,即将参数做成
opt数组,例如:我怀疑数组没有像json那样格式化