gpt4 book ai didi

php - Ajax POST 方法在 PHP 中不起作用,但 GET 可以工作

转载 作者:行者123 更新时间:2023-12-01 02:52:38 25 4
gpt4 key购买 nike

我正在尝试使用 Ajax 向 php 发送 POST 请求。

如果我使用 GET,它工作正常,但使用 POST,我在 php 中收到的数据是空的。我以 json 形式发送数据。

这是 js 代码的样子:

$.ajax(
{
type: 'POST',
url: 'php/GiveItBack.php',
contentType: "json",
data: {
word: 'abc'
},
success: function (json) {
alert(json);
},
error: function (jqXHR, textStatus, errorThrown) { alert('ERROR: ' + errorThrown); }
});

这是 php/GiveItBack.php 文件

<?php

$x = $_GET['word'];
echo 'Get: ' . $x;

$x = $_POST['word'];
echo '; Post: ' . $x;

$x = $_REQUEST['word'];
echo '; Request: ' . $x . ';';

?>

使用此代码,警报窗口中的消息如下所示:

Get: ; Post: ; Request: ;

如果我将 js 文件中的 type: 'POST' 替换为 type: 'GET' 这就是我在警报窗口中得到的结果(正如我所期望的那样)查看):

Get: abc; Post: ; Request: abc;

我看不出我在这里错过了什么。代码中是否有问题,或者我需要进行任何特殊设置才能使其正常工作。

顺便说一句,我正在使用:jquery-2.2.4.min和php v5.6和XAMPP v3.2.2。

谢谢。

最佳答案

内容类型不正确,需要使用contentType: "application/x-www-form-urlencoded" OR 'Content-Type': 'application/json'

   $.ajax(
{
type: 'POST',
url: 'php/GiveItBack.php',
contentType: "application/x-www-form-urlencoded",
data: {
word: 'abc'
},
success: function (json) {
alert(json);
},
error: function (jqXHR, textStatus, errorThrown) { alert('ERROR: ' + errorThrown); }
});

关于php - Ajax POST 方法在 PHP 中不起作用,但 GET 可以工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37786473/

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