gpt4 book ai didi

javascript - jQuery AJAX PUT 请求数据提交不起作用

转载 作者:行者123 更新时间:2023-11-30 11:51:23 25 4
gpt4 key购买 nike

我有一个 PHP 文件,其中包含以下内容:

if ($_SERVER['REQUEST_METHOD'] === 'PUT') {
echo '{ "response": "' . $_REQUEST['id'] . '" }';
}

现在我想通过 jQuery 对这个文件进行 AJAX 调用:

var send = {
id: 10
};

$.ajax({
data: send,
method: 'PUT',
url: "myphpfile.php",
success: function(responseData) {
console.log(responseData.response);
}
});

这应该返回 10 作为响应,但输出为空。在 PHP 文件中,我还尝试将 id 写入文本文件,结果也是空的。这意味着我的 PHP 代码不是这里的问题,而是 JavaScript。

但是,当我将 AJAX 网址更改为 myphpfile.php?id=10 时,响应是正确的,并且 10 会记录到控制台。

我尝试了很多方法来解决这个问题,但没有任何效果。这包括设置 contentType: 'application/json; charset=utf-8'dataType: 'json'data: JSON.stringify(send)。我找不到更多与此相关的论坛问题或文章,而且我发现的那些都不起作用。

感谢任何帮助。

最佳答案

您无法通过 $_REQUEST 访问来自 PUT 请求的数据。你需要这样的东西:

if ($_SERVER['REQUEST_METHOD'] === 'PUT') {

parse_str(file_get_contents("php://input"),$sent_vars);
echo json_encode(['response'=>$sent_vars['id']]); // use an array and json_encode to avoid messy string concatenation
}

另请参阅Accessing Incoming PUT Data from PHP

关于javascript - jQuery AJAX PUT 请求数据提交不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39351160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com