Ajax异步请求处理问题

要贴上代码吗?太长了。

那我简单粗暴的描述下问题吧:在服务器中请求没有成功(代码中success没有通过,直接执行了errro的方法),但是在浏览器监听的时候,参数和响应一切都ok啊,为什么呢?没什么success没有通过呢

以下局部代码:

<h1>人物查询</h1>
<label>请输入人物编号</label>
<input type="text" id="keyword">
<button id="search">查询</button>
<p id="searchResult"></p>
<h1>员工创建</h1>
<label>请输入人物姓名</label>
<input type="text" id="staffName"><br>
<label>请输入人物编号</label>
<input type="text" id="staffNumber"><br>
<label>请输入人物性别</label>
<select id="staffSex">
<option>男</option>
<option>女</option>
</select><br>
<label>请输入人物角色</label>
<input type="text" id="staffJob"><br>
<button id="save">保存</button>
<p id="createResult"></p>


$("#search").click(function(){
        $.ajax({
            type:"GET",
            url:"jQuery.ajax.server.php?number="+$("#keyword").val(),
            dataType:"json",
            success:function(data){
                if(data.success == true){
                    $("#searchResult").text(data.msg);
                }else{
                    $("#searchResult").html("出现错误:"+data.msg);
                    }
                },
            error:function(jqXHR){
                alert("发生错误"+jqXHR.status);
                }
            });
        });
    $("#save").click(function(){
        $.ajax({
            type:"POST",
            url:"jQuery.ajax.server.php",
            dataType:"json",
            data:{
                name:$("#staffName").val(),
                number:$("#staffNumber").val(),
                sex:$("#staffSex").val(),
                job:$("#staffJob").val(),
                },
            success:function(data){
                if(status.success == true){
                    $("#createResult").html(data.msg);
                }else{
                    $("#createResult").html("出现错误:"+data.msg);
                    }
            },
            error:function(jqXHR){
                alert("发生错误"+jqXHR.status);
                }
            })
        })


红颜未知己
浏览 2149回答 5
5回答

慕冬雪

额,PHP啊。。我其实不会,没接触过,但是, ERROR函数一般最常见的就是:访问后台程序错误,网络响应超时,还有就是success中的代码如果发生系统错误可能也会调error。你可以先在success中打印一下data,看看能不能正常接到参数,还有就是,你点save时success:function(data){                if(status.success == true){                    $("#createResult").html(data.msg);                }else{                    $("#createResult").html("出现错误:"+data.msg);                    }            },这段代码里的, if(status.success == true){这个是错误到, 改成 if(data.success == true){;还有,看你后台,echo是向页面输出吧?输出内容里貌似没有success参数啊。。。(对php不是太懂,说的不对的地方望包涵)

LUCK星001

error 应该和success 同级吧!

后之后觉

现在基本都用法$.post方法了建议用$.post

慕冬雪

error回调的执行有很多原因。你说请求响应都没问题,那建议你贴下action代码。
打开App,查看更多内容
随时随地看视频慕课网APP