ホームページ > 記事 > ウェブフロントエンド > ajax は jsonp と連携してクロスドメイン アクセスの問題を解決します
フロントエンド:
$.ajax({
type: "get",
async: false,//非同期かどうか
url: "http://ip:port/servlet address",
dataType: "jsonp" ,
contentType : "application/x-www-form-urlencoded;charset=UTF-8",
jsonpCallback: "callback",
data: { }, //渡されたパラメータ
success: function(e){
var r = $ .parseJSON(e);//e: 戻り値
},
error: function(XMLHttpRequest, textStatus, errorThrown) {}
});
バックエンド: サーブレットの使用例
String callback = request.getParameter(" callback ");//コールバック関数
request.setCharacterEncoding("utf-8");//中国語の文字化けを防ぐ
response.setCharacterEncoding("utf-8");//中国語の文字化けを防ぐ
//response.setHeader( " pragma", "no-cache");
//response.setHeader("cache-control", "no-cache");
//返される結果のリスト
JSONArray jsonArray = JSONArray.fromObject(list) ;
response.getWriter().print(callback+"('"+jsonArray+"')");
response.getWriter().flush();