Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Ajax请求返回失败_Php_Jquery_Ajax - Fatal编程技术网

Php Ajax请求返回失败

Php Ajax请求返回失败,php,jquery,ajax,Php,Jquery,Ajax,我已经编写了一个小脚本来发出Ajax请求。为此,我使用jQuery。我已经这样做了好几次,但这是我第一次收到失败消息。这是我的剧本: $(document).ready(function(){ $("#btnExecute").click(function(){ var numberOfClusters = $('#inputNumCab').val(); alert(numberOfClusters); $.ajax({

我已经编写了一个小脚本来发出Ajax请求。为此,我使用jQuery。我已经这样做了好几次,但这是我第一次收到失败消息。这是我的剧本:

$(document).ready(function(){
    $("#btnExecute").click(function(){
        var numberOfClusters = $('#inputNumCab').val();
        alert(numberOfClusters);
        $.ajax({
            type: "POST",
            url: 'RunPythonThroughPHP/insertData_2.php',
            //data: { numberOfClusters: numberOfClusters },
            success: function(msg){
                alert('thanks');
            },
            error: function(){
                alert("failure");
            }
       });
    });
});
概念如下。当我按下按钮(以表单的形式)时,我得到一个文本字段的值(基于id),然后我将该数据传递到我的ajax请求中。问题是我收到了故障警报。
为什么会发生这种情况?如果我的请求不是异步的(async:false),那么它就会工作。

当服务器响应的HTTP代码不是
200
时,就会发生这种情况。这意味着错误在
insertData_2.php
文件中。您需要检查网络选项卡以查找错误消息(或检查服务器日志)并调试该脚本,而不是jQuery。谢谢您的回答。我的表单按钮是否也是提交类型?它应该是另一种类型吗?在这种情况下,最佳做法是挂接到
表单的
submit()
事件,但是它不会影响AJAX请求。您的PHP中仍然存在一个问题。您可以通过使用jq preventDefault来防止,或者在Submitt调用的函数中返回false。听起来可能会有一些单独的事情发生,但我认为上面的评论中主要解决了这些问题。。。然而,我注意到的另一件小事是,在您的示例中,数据参数被注释掉了。按原样,insertData_2.php将不会获得numberOfClusters的值。也许PHP脚本需要设置该值(并导致非200返回状态)?