首頁 > web前端 > js教程 > 主體

jquery ajax 呼叫失敗的原因範例介紹_jquery

WBOY
發布: 2016-05-16 17:21:09
原創
1080 人瀏覽過

以下是一個完事的函數:

複製程式碼 程式碼如下:

functiontiontion
var A = parseFloat($("#pNormalTotal").html()) parseFloat($("#pBarginTotal").html());
jQuery.ajax(
{
url : "/ajax/OrderRedemption.aspx?vf=getlist",
type: "POST",
dataType: "json",
data:{amount:A},
success: function (>data:{amount:A},
success: function ( json) {
$("#fittingProductList tr.tableItem").remove();
var data = json.list;
$.each(data, function (i, n) {
var id = n.pid;
var row = "";
row = "";
row = " ";
row = "滿" n.amount "";
row = "" n.price "";
row = "";
$("#fittingProductList").append(row);
});
$("#promotionArea").slideDown();
CalculateOrder();
},
error: function (xml) {

//alert (arguments[1]);
var json = eval("(" xml.responseText ")");
$("#promotionArea").slideUp();
}
}) ;
}


很多的時候你調試時會發現直接跳到error,然後直接就跳過去了.success段沒有被執行.其實這裡所有的語句都沒有問題,問題的關鍵在於回傳值.如果回傳值出錯,他就不會執行success段.回傳值出錯有幾種情況:

1.格式錯誤.這是比較簡單的,比較常見的是多了一個逗號之類:如{"success":true,"list":[{},{},]}(最後多一個逗號)正常不會有這個,容易出錯的時候是你用for語句時後面最後沒處理那個逗號.

2.類型錯誤:這種錯誤最難找,如果沒把握就用字元是最好的.例如:"success":true是可以的,"code":0 ,也可以.如果是"code":a123,就有問題,會出現轉換錯誤.要這樣才對:"code":"a123"
由於jquery調試的時候會忽略錯誤,所以有時候會很抓狂.一個簡單的方法是寫error語句,加alert,錯誤會被捕捉到.
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板