【发布时间】:2017-03-27 09:15:38
【问题描述】:
我正在尝试使用 jQuery AJAX 函数在警报框中输出我的 $_POST 值,但是我的 PHP 控制器中的 $_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 控制器:
<?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>
控制器正在工作。如果我想用我的输入或一些测试文本输出响应 - 一切正常,我会在成功警报框中看到文本。
我尝试了不同的方法,并且看到了几乎所有类似问题的答案。
我尝试删除 dataType,尝试将其更改为 text,尝试删除 contentType,将对象添加到数据中,例如人们建议的许多答案,用 {'name':John} 等简单的值对其进行了测试, 试图用一个输入和文本字段制作一个非常简单的表单。没有任何帮助。
问题:
您能否就这个问题或我的代码或其他类似代码的一些小示例提出建议,以解决我的问题?
编辑:
我们有一个非常有用的discussion,但不幸的是,这些解决方案都没有帮助。但现在我们了解到,在其他浏览器或计算中一切正常,但问题可能更严重(在配置等方面)。
【问题讨论】:
-
你可以删除
contentType: "application/json", -
我已经试过了,又删了,还是不行。
-
method: 'POST',--->type :'post' -
谢谢,昨天也已经尝试过这个变种,在你发表评论后 - 仍然没有..
-
你也可以发布你的表格
标签: javascript php jquery ajax forms