1. 程式人生 > >Ajax返回狀態為200但進入error方法

Ajax返回狀態為200但進入error方法

前幾天在寫一個ajax請求時發生了一個詭異的問題。從後臺返回的狀態碼顯示為200,但是並沒有成功進入suceess方法。

 $.ajax(
        {url:'',
            type:'post',
            dataType:'json',
            data:'',
            error:function(){
                console.log('error')
            },
            success:function(){
                //do something
                }
        }
    )

於是去jQuery文件,發現了問題所在

我們必須確保網頁伺服器報告的MIME型別與我們選擇的dataType所匹配。比如說,XML的話,伺服器端就必須宣告 text/xml 或者 application/xml 來獲得一致的結果。

我在配置dataType時指定為json,但是後臺傳過來的資料並不是json,所以發生了執行了error方法。解決方法是將dataType設定為text再手動呼叫 $.parseJSON(result)