ajax接口和后台交互


//定義一個公眾處理ajax的方法
    function handelAjax(url,method,parm,callback) {
        $.ajax({
            url:url,
            type:method,
            dataType:'json',
            data:pram,
            success:function(data) {
                callback(data);
            },
            error:function(err) {
                alert(err);
            }
        })
    }
//實現查詢
    handelAjax('/user/search','post',{name:'wes'},function(data) {
    //成功后的操作
        console.log('data: ',data);
    });
View Code

ajax的異步:現在和將來:

  現在發送一個異步的ajax,然后在將來才能得到返回的結果。從現在到將來的“等待”,最簡單的辦法(不是唯一的)是使用一個回調函數。

  //ajax是某個庫提供的函數:

  ajax('www.baidu.com",function mycallback(data){consloe.log(data);  //這里得到了一些數據  }

♠ 注意:在技術上可以實現發送ajax的同步請求,但是,在任何情況下都不應該使用這種方式,因為它會鎖定瀏覽器UI(按鈕,菜單,滾動條等),並阻塞所有用戶的交互。所以一定要避免。

其中ajax跳入error函數的原因:

出現任何錯誤都會跳到error函數里去;

舉例說明錯誤的原因:

1.URL路徑有問題

  路徑里面不能有中文

2.傳遞的參數有問題

  參數必須是ajax支持的編碼格式,如:用JSON.parm(),JSON.stringify()等

3.data不能為空

  即使不傳值也要傳一個"{}"

4.dataType

  后台傳入的dataType和前台寫的不一致

5.async請求同步異步的問題

  async默認請求方式是true(異步請求),如果想一個ajax請求完成之后再去請求另一個ajax,需要將async設置為false;

  例如,你用post請求傳值到另一個頁面后台,但是頁面一加載你的ajax就已經執行過了,傳值接收是在后台才完成的,這時候就請求不到數據,所以可以考慮把ajax請求改為同步試試。

關於其中ajax跳入error函數的原因參考了網上的一篇博客

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM