Ajax でレスポンスを通じてバックグラウンドでデータを渡すときに例外が発生します。それを解決するにはどうすればよいですか?この記事では、Ajax でのバックグラウンドでの応答によるデータ送信の問題の分析を紹介します。必要な方は参考にしていただければ幸いです。
これは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を通じてデータを取得したい場合、最初はバックグラウンドで直接json文字列を返します。結果は例外となり、メソッドは定義されていません。確認したところ、response.getWriter().write()メソッドを通じてデータを書き込む必要があり、データは正常に取得できました。バックグラウンド コードは次のとおりです:
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; }
学習しましたか?急いで試してみてください。
関連する推奨事項:
2 つのオブジェクト Request と Response の使用について説明します
AngularJS の ng Http リクエストとレスポンスの形式変換メソッド
以上がAjax の応答を通じてバックグラウンドでデータを渡す問題を分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。