jQueryのAjax受信javaリターンデータ方法


1.フロントエンドAjax要求は以下の通りである。

$.ajax({
  type : "post",
  //async:false,
  url : PATH + "/product/selectPicture.action",
  dataType : "json",
  success : function(data) {
   $.each(data,function(k,v){
     alert(k +":"+ v);
    });
  }
 });
2でPATHはjspページで定義されています。

<%
String path=request.getContextPath();
%>
<script>
 var PATH = ‘<%=path%>';
</script>
2.1バックエンドjavaコード出力jsonフォーマットデータ:

List<Map<String,Object>> list = bo.selectData();
response.setContentType("application/json;charset=GBK");
PrintWriter out=response.getWriter();  
out.write(JSONArray.fromObject(list).toString());
out.flush();
out.close();
リストはデータベースから検出されたデータで、JSONArray.froomObject(list)はJson-lib-244-jdk 15.jarパッケージを導入する必要があります。そして、このカバンはいくつかの依存カバンを導入する必要があります。注意返すフォーマットはjsonと符号化フォーマットです。
2.2 alibababababaのfastjson 1.2.8.jarバッグも使えます。後端はこのように書くべきです。

List<Map<String,Object>> list = productService.selectCategory();
String jsonString = JSON.toJSONString(list, true); 
response.setContentType("application/json;charset=utf-8"); 
PrintWriter out = response.getWriter();
out.write(jsonString);
out.flush();
out.close();
2.3バックエンドが注釈ベースのスプリングMVCを使っている場合、このように書きます。

@ResponseBody
public JSONArray selectData(HttpServletRequest request){ 
  List<Map<String,Object>> list= bo.selectData(); 
  return JSONArray.fromObject(list);
 }
方法の前に@ResponseBodyの注釈をつけて、そしてreturn jsonフォーマットのデータはすぐできます。
3 Ajax要求の戻りデータタイプがdataTypeであれば、バックエンドjavaとは:

String key = bo.selectData();
response.setContentType("text/html;charset=utf-8");
Writer out = response.getWriter();
out.write(key);
out.flush();
out.close();
Ajaxのsuccess:function{}方法では、dataはバックエンドから戻ってくるデータです。
以上のjQueryのAjaxはjavaを受信してデータを返す方法は小编で皆さんに提供したすべての内容です。