ajax封裝

var _url = 'http://xxxx'

/*
 * AJAX針對所有的數據類型的函數
 * 
 * @param {type} sync 是否異步傳輸 默認是true是異步。 false就是同步傳輸 
 * @param {type} cache 是否開啓緩存
 * @param {type} type ajax的傳輸類型 POST 或 GET
 * @param {type} url  是傳輸的目標url (注意:這個url要非常注意,如果路徑不對就會導致錯誤  !--所以是重點--)
 * @param {type} datatype 傳輸數據的類型可以是 text:純文本 | html:HTML信息包括script標籤會在插入DOM時執行 | script:返回純文本JavaScript代碼 | json:json數據 | jsonp:jsonp數據格式 | xml:返回XML文檔 
 * @param {type} data 是要傳輸的數據(注意:數據是什麼格式datatype就要是對應的格式,否則傳輸失敗)
 * @param {type} func 當ajax執行成功之後跳轉到自己的函數  注意:這裏只需要寫上自己函數的名稱即可
 * @returns {undefined}
 */
function ajax_all_Filed(opt) { //封裝ajax的一些常用參數  //data數據可以爲空
    $.ajax({
        async: opt.sync || true,
        cache: opt.cache || false,
        type: opt.type || 'Post',
        url: _url+opt.url,
        dataType: opt.datatype || 'json',
        data: opt.data,
        headers: opt.headers || {'Access-Control-Allow-Origin': '*'},                
        beforSend: function () {
            // 禁用按鈕防止重複提交
            $("#submit").attr({
                disabled: "disabled"
            });
        },
        error: function (data) {
            //請求失敗時被調用的函數 
            alert("傳輸失敗:" + data);
        },
        success: function (data) {
            opt.func(data);
        }
    });
}

//  登錄
var login_url = '/json/xxx/login.aspx'
//使用
ajax_all_Filed({
            url:login_url,
            data:{
                phone,
                pwd
            },
            func:function(res){
                console.log(res)
            }
      
})

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章