gpt4 book ai didi

javascript - PHP 和 jQuery AJAX - $_POST 始终为空

转载 作者:行者123 更新时间:2023-11-28 14:55:33 24 4
gpt4 key购买 nike

我正在尝试使用 jQuery AJAX 函数在警报框中输出我的 $_POST 值,但是我的 PHP Controller 中的 $_POST 值始终为空,并且我总是在回应。

我使用的是 PHP 版本 5.5,jQuery 版本 2.2.3

(我已经针对此问题尝试了多种可能的解决方案,但仍然找不到解决此问题的正确方法)。

1.这是我的AJAX代码(我没有使用提交功能,我只是更新网页上的一些内容而没有重定向):

$.ajax({
method: 'POST',
url: '../OrganizationController.php',
dataType: "json",
contentType: "application/json",
data: {'myForm':$('#myForm').serialize()},
success: function(data){
alert(data);
},
error: function(xhr, desc, err){
console.log(err);
}
});

2.这是我的简单 PHP Controller :

<?php

include('../mysql_conn.php');

$value;
if ($_POST['myForm']) {
$value= $_POST['myForm'];
header('HTTP/1.1 200 OK');
} else {
header('HTTP/1.1 500 Internal Server Error');
}

header('Content-Type: application/json');
echo json_encode($value);
...
?>

3.我的简单形式:

 <form id="myForm">
<input type="text" name="name" title="Name"/>
<input type="button" name="click">Press</input>
</form>

Controller 正在工作。如果我想用我的输入或一些测试文本输出响应 - 一切正常,我会在成功警报框中收到文本。

我尝试了不同的方法,几乎​​看到了类似问题的所有答案。

我尝试删除dataType,尝试将其更改为text,尝试删除contentType,向数据添加一个对象,如人们建议了许多答案,并使用 {'name':John} 等简单值对其进行了测试,尝试制作一个非常简单的表单,只有一个输入和文本字段。没有任何帮助。

问题:

您能否就这个问题或我的代码或其他类似代码的一些小示例提出建议,并为我的问题提供可能的解决方案?

编辑:

我们有一个信息非常丰富的discussion ,但不幸的是这些解决方案都没有帮助。但现在我们了解到,在其他浏览器或计算中,一切正常,问题可能更严重(在配置等方面)。

最佳答案

在 PHP 文件中,您只能通过名称检索输入参数。就像在您的表单中一样,如果您有电子邮件或电话号码,并且您将它们发送到 Controller 文件,那么可以通过 Controller 文件中的名称而不是表单名称来获取它。

以下是执行此操作的正确代码:

$.ajax({
method: 'POST',
url: 'test.php',
dataType: "json",
data: $('#myForm').serialize(),
success: function(data) {
alert(data);
},
error: function(xhr, desc, err) {
console.log(err);
}
});

在您的 PHP 文件中,获取如下值

<?php
if ($_POST['name']) {
$value= $_POST['name'];
} else {
header('HTTP/1.1 500 Internal Server Error');
}

header('Content-Type: application/json');
echo json_encode($value);
?>

这里我假设电子邮件是您表单中的一个字段。

试试这个!

编辑:刚刚替换了 PHP 文件中的 POST 参数,因为我看到“name”是表单中的字段之一。干杯!

P.S: contentType: application/json 有时不起作用。在这里您可以看到一些线程:Github Thread

关于javascript - PHP 和 jQuery AJAX - $_POST 始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43042379/

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