1 回答

TA贡献1827条经验 获得超8个赞
我注意到的第一件事是您没有使用正确的变量(您正在使用stringData而不是dataString):
dataString = JSON.stringify(dataString); //correctly stringified json
let response = await fetch('updateRecevingEntry.php', {
method:'POST',
headers: {'Content-Type':'application/json'},
body: dataString
}).then(response=>response.json());
尽管您在使用 json 标头发送它时不需要对其进行字符串化。
此外,您是否尝试过$_POST使用 ,而不是php://input?
来自PHP.net:
php://input 是一个只读流,允许您从请求正文中读取原始数据。对于 POST 请求,最好使用 php://input 而不是 $HTTP_RAW_POST_DATA,因为它不依赖于特殊的 php.ini 指令。此外,对于那些默认情况下不填充 $HTTP_RAW_POST_DATA 的情况,与激活 always_populate_raw_post_data 相比,它可能是一种内存密集度较低的替代方案。php://input 不适用于 enctype="multipart/form-data"。
所以你会像这样使用它:
$postData = json_decode(file_get_contents("php://input"), true);
$matkey = $postData['materialKey'];
这会将 POST 请求的主体读取为 JSON 字符串,然后将其转换为 PHP 数组。
- 1 回答
- 0 关注
- 64 浏览
添加回答
举报