回覆列表
  • 1 # 使用者6057070978277

    來看個ajax的簡單例子:

    jQuery(function($){

    $("button").click(function(){

    var name = $(this).attr("name");

    $.ajax({

    url:"hello.php",

    type:"POST",

    data:{"search":name},

    success:function(data)

    {

    alert("success");

    },

    error: function(){

    alert("error");

    }

    });

    });

    });

    這個段程式碼,在現在基於Restful API架構,前後端嚴格分離的WEB程式中,是很常見的。現在有一個問題,那就是呼叫後,在什麼情況下走success方法,在什麼情況走error方法?

    我們先簡單介紹下ajax:

    簡單的說Ajax請求透過XMLHttpRequest物件傳送請求,該物件有四個狀態(readyState):

    0-未初始化、1-正在初始化、2-傳送資料、3-正在傳送資料、4-完成。

    當XMLHttpRequest.readyState為4時,表示ajax請求已經完成可以得到響應結果。

    ajax的success和error方法根據響應狀態碼來觸發。當XMLHttpRequest.status為200的時候,表示響應成功,此時觸發success().其他狀態碼則觸發error()。

    除了根據響應狀態碼外,ajax還會在下列情況下走error方法:

    1. 返回資料型別不是JSON

    2. 網路中斷

    3. 後臺響應中斷

  • 中秋節和大豐收的關聯?
  • 什麼叫隻言片語?