我們在Ajax中透過response在後台傳遞資料時會出現異常,該如何解決呢?本文就跟大家介紹Ajax中透過response在後台傳遞資料問題的解析,需要的朋友參考下吧,希望能幫助大家。
這是js程式碼:
var System = { getHttpRequest: function(url, callback, options) { if (url.length < 0) return; var option = { url: url, type: "get", dataType: "json", cache: false, timeout: 30000, beforeSend: function(XHR) { }, complete: function(XHR, textStatus) { XHR.abort(); }, error: function(XMLHttpRequest, textStatus, errorThrown) { //alert("网络连接不通,请稍后再试!"); }, success: function(data) { callback(data, options); } }; if ( !! options) { option = $.extend(option, options); } $.ajax(option); } };
當我想要透過回呼函數success取得data時,一開始我是直接在後台return一個json字串,結果會報異常,沒定義方法什麼的,後來查了一下,需要透過response.getWriter().write()方法寫入數據,success中才能取得到數據。後台程式碼如下:
public String getRejectReason() throws Exception{ String rowId = getParameterAndPut("rowId",null,0).toString(); String jsonData = ""; if (StringUtils.isNotEmpty(rowId)) { jsonData = newOwnerInfoService.getRejectReasonJsonData(rowId); } this.getResponse().setCharacterEncoding("utf-8"); this.getResponse().getWriter().write(jsonData); return null; }
大家學會了嗎?趕快動手嘗試。
相關推薦:
AngularJS的ng Http Request與response格式轉換方法
以上是解析Ajax中透過response在後台傳遞資料的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!