如何在PHP中返回ajax调用的错误状态


How to return an error status on an ajax call in PHP?

我有这个脚本代码,它工作得很好,

<script>
    function ajob(){
        var a3=a.value
        var a4=b.value
        var a5=c.value
        if(a3!='' && a4!=''){
            $.ajax({
                type:"get",
                url:"addj.php?content=" + a3 + "," + a4 + "," + a5
            });
         lod();
        }else{alert('Fill all fields')}
    }
</script>
<form>
    <table>
        <tr><td>Job Name:</td>
            <td><input id="a" name="jname" type="text"></td>
        </tr>
        <tr><td>Job Description:</td>
            <td><input id="b" name="jd" style="margin: 2px 0 2px 0;" type="text"></td>
        </tr>
        <tr><td>Status:</td>
            <td>
                <select id="c" name="jstat" style="width:100%; height: 26px" >
                    <option>Active</option>
                    <option>Not Active</option>
                </select>
            </td>
        </tr>
    </table>
</form>

我想知道的是我怎么能知道我的addj.php文件中是否有错误?这是我的addj.php

addj.php

require 'con.php';
$pieces = explode(",", $_GET['content']);
$jname=$pieces[0];
$jd=$pieces[1];
$jstat=$pieces[2];
$query=mysqli_query($con,"INSERT INTO job(job_name,job_desc,status) values('$jname','$jd','$jstat') ");

如何从PHP代码返回失败状态以及如何处理java脚本代码中的错误?

使用成功或错误回调函数并输出数据到控制台。

function ajob(){
    var a3=a.value
    var a4=b.value
    var a5=c.value
    if(a3!='' && a4!=''){
        $.ajax({
            type:"get",
            url:"addj.php?content=" + a3 + "," + a4 + "," + a5,
            success: function(dataReturn, textStatus, jqXHR) {
                console.log(dataReturn);
            },
            error: function(jqXHR,textStatus,errorThrown){
                console.log(textStatus,errorThrown);
            }
        });
     lod();
    }else{alert('Fill all fields')}
}

使用

            $.ajax({
                type:"get",
                url:"addj.php?content=" + a3 + "," + a4 + "," + a5,
                success: function(data) { alert("succsess") },
                error: function (xhr, ajaxOptions, thrownError) {
                        alert(xhr.status + " : " + xhr.responseText);
                 }
            });

可以使用浏览器的控制台。

为什么Ajax脚本不能在IIS 7.5 win2008 R2服务器上运行?

您可以使用此代码捕获任何ajax错误。

$.ajax({
  type:"get",
  url:"addj.php?content=" + a3 + "," + a4 + "," + a5
}).fail(function(error){
  alert(error);
});

希望能有所帮助。