jquery ajax請求成功,返回了數據,但不進success,而是進入error的問題

1. 有多是由於跨域訪問致使的,解決方式是使用jsonp,jquery的ajax有一個參數是jsonp,指定一個回調名稱,巴拉巴拉後面固然還有好多後臺操做之類的,就不介紹了;javascript

2.前端ajax中的dataType指定類型和你後臺返回的數據類型不一致致使,或者你的數據中有特殊字符致使html

    a.關於數據類型不一致的問題,我今天就遇到了,很是的蛋疼;前端我沒有設置dataType那麼就是默認的類型,我後臺返回的是一個字符串:success或者failed來判斷執行成功與否;而後問題就來了,各類firebug、httpwatch查看都有數據success返回,他大爺的就是不進入ajax的success;忙活了半天一查後段代碼,發現了這個(注:本人使用的是java開發後端)前端

response.setContentType("text/javascript;charset=utf-8");

看到這個各類桑心啦,各類草它大爺呀。。。。這段代碼怎麼來的啦,爲何不是我想要的下面的代碼啦:java

response.setContentType("text/html;charset=utf-8");

緣由是我偷了複製的上一個方法的代碼,ou no。。。。因此就致使先後數據類型不一致而進入error了。jquery

    b. 有可能你先後數據類型是一致的可是仍是進入error,那麼就有可能你數據格式不正確了。好比json格式,是要嚴格按照格式來的,不要就出錯,這個你要找一些驗證json格式的工具來驗證一下你返回的json數據格式正確否;還有一種多是你json格式正確了,可是你json數據中有特殊字符,最最蛋痛的就是有回車之類的字符存在!
ajax

相關文章
相關標籤/搜索