今天在使用jQuery.ajax方法去調用后台方法時,ajax中得參數data類型是"JSON",后台DEBUG調試,運行正常,
返回正常的結果集,但是前端一直都進到ajax的error方法,百思不得其解,后要一探究竟,在error方法的參數中加了data后,發現data中的readyState = 4 並且 status=200,
這兩個狀態也證明ajax訪問沒有問題,沒有出現異常。回過頭發現我在后台返回的是字符串,但並不是標准的json格式的字符串,所以前端js進入不了success。
無法解析為json格式的數據,所以報錯進error。
通過后台將結果集轉成json格式字符串即可。或者將data類型改為“text”
function ajaxUpdate(content,key) { $.ajax({ async:true, type: "POST", url: "*******************", data: {content:content,key:key}, dataType: "text", success: function(data){ alert(data); },error:function (XMLHttpRequest) { alert("error"+XMLHttpRequest.status+"---"+XMLHttpRequest.readyState); } }); }