$.ajax 與 $.post 的區別,以及$.post的bug

先來看兩個方法:ajax

$.ajax({
    url: url,
    data: params,
    type: 'post',
    dataType: 'json',
    success: function(d) {
    },
    error: function(e) {
    }
});
$.post(url, params, function(d) {
}, function(e) {
});

這都能看懂,沒有什麼問題
正常的使用,不會有什麼問題,
那什麼是不正常的使用呢?json

上傳文件

$.ajax({
    url: url,
    data: formdata,
    type: 'post',
    contentType: false,//必須false纔會自動加上正確的Content-Type
    /**
     * 必須false纔會避開jQuery對 formdata 的默認處理
     * XMLHttpRequest會對 formdata 進行正確的處理
     */
    processData: false,
    success: function(d) {
    },
    error: function(e) {
    }
});

請求地址有302重定向(同域下,沒有跨域)

這種狀況下,$.post的回調函數就沒有執行,$.ajax正常執行跨域

jQuery版本:2.2函數

相關文章
相關標籤/搜索