亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Ajax異步請求處理問題

Ajax異步請求處理問題

紅顏未知己 2015-12-19 14:46:43
要貼上代碼嗎?太長了。那我簡單粗暴的描述下問題吧:在服務器中請求沒有成功(代碼中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); ????????????????} ????????????}) ????????})
查看完整描述

5 回答

已采納
?
慕冬雪

TA貢獻16條經驗 獲得超3個贊

額,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不是太懂,說的不對的地方望包涵)

查看完整回答
反對 回復 2015-12-19
  • 紅顏未知己
    紅顏未知己
    嗯...是的,昨晚我檢查出來了。你說的沒錯,那個參數是我寫錯,還有一個就是我web客戶端發送數據的格式是json,而服務器接收的格式是text/plain,兩者格式沖突,自然會出差錯;第三個,也是格式的問題,我服務器端的代碼中echo輸出格式也應為json,我寫的是text格式。三個錯誤,只有參數寫錯的那個我花費時間最長。
  • 慕冬雪
    慕冬雪
    好的, 問題解決了就行, 我php不懂, 只能按照java的思想給你解釋。。。
?
LUCK星001

TA貢獻19條經驗 獲得超21個贊

http://img1.sycdn.imooc.com//567622f30001174406860258.jpg

error 應該和success 同級吧!

查看完整回答
2 反對 回復 2015-12-20
  • 紅顏未知己
    紅顏未知己
    是的error是應該是success同級,在ajax的代碼中,同級用逗號隔開。所以我這里沒有問題
?
后之后覺

TA貢獻17條經驗 獲得超1個贊

現在基本都用法$.post方法了建議用$.post

查看完整回答
反對 回復 2015-12-19
?
慕冬雪

TA貢獻16條經驗 獲得超3個贊

error回調的執行有很多原因。你說請求響應都沒問題,那建議你貼下action代碼。

查看完整回答
反對 回復 2015-12-19
  • 5 回答
  • 1 關注
  • 2233 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號