Javascript ajax没有到达php端

Javascript ajax没有到达php端,javascript,php,Javascript,Php,我想摆脱html表单提交,并用Ajax(xmlhtp请求)替换它们。我已经将表单返回值设置为“false”,并编写了一个小测试来测试Ajax机制。 在Java脚本端,我确实收到就绪状态4和状态200,因此发送数据显然成功,但在PHP端,变量永远不会到达 我尝试使用POST方法以通常的方式获取它们,与我以前接收html提交时的方式相同,其中简化形式为: $x=$_POST['x']; echo$x “x”已与Ajax一起发送,状态4,状态200 谁知道我做错了什么? 非常感谢。很可能您正在发布JS

我想摆脱html表单提交,并用Ajax(xmlhtp请求)替换它们。我已经将表单返回值设置为“false”,并编写了一个小测试来测试Ajax机制。 在Java脚本端,我确实收到就绪状态4和状态200,因此发送数据显然成功,但在PHP端,变量永远不会到达

我尝试使用POST方法以通常的方式获取它们,与我以前接收html提交时的方式相同,其中简化形式为:

$x=$_POST['x']; echo$x

“x”已与Ajax一起发送,状态4,状态200

谁知道我做错了什么?
非常感谢。

很可能您正在发布JSON数据?请尝试以下代码段:

switch ($httpMethod) {
          case 'POST':
          $rest_json = file_get_contents("php://input");
            $jsonData = json_decode($rest_json,true);
            foreach($jsonData as $item){
                var_dump($item);
                $studentsCollection->insert($item);
            }
            $response = $studentsCollection->find();
            break;

这是我使用的一个简单的RESTAPI。只需将其更改为适合您自己,而无需动词切换语句。

也许您的ajax请求是通过GET而不是POST提交的。尝试使用$\u GET而不是$\u POST,或者使用$\u REQUEST来覆盖这两个基础。如果您不使用jQuery,我建议您使用它,ajax更容易使用,等等


我会检查ajax请求的标题(在chrome或firefox中),您可以查看数据是否真的传递到PHP端。

要找到问题,可以使用调试工具调试ajax请求

使用Firebug可以看到ajax调用

您可以查看发送的参数

您可以看到ajax请求的响应

我的建议是对javascript函数使用Jquery

Jquery ajax调用代码-

           $.ajax({
                    type: 'POST',
                    url: 'ServerPageUrl.php',
                    dataType: 'json',
                    success: function(data){
                       if(data==true)
                       {                               
                           alert("OK");
                       }
                       else
                       {    
                           alert("Error save data");
                       }


                    }
                });
您可以从以下站点了解有关jQueryAjax的更多信息:


谢谢。

显示整个AJAX代码,否则很难判断出哪里出了问题。“.htaccess”可能是另一个原因。可能有一些规则会将您的请求转到其他页面
           $.ajax({
                    type: 'POST',
                    url: 'ServerPageUrl.php',
                    dataType: 'json',
                    success: function(data){
                       if(data==true)
                       {                               
                           alert("OK");
                       }
                       else
                       {    
                           alert("Error save data");
                       }


                    }
                });