JS

 ajax跨域

 

 介绍:

   ajax跨域访问是一个老问题了,解决方法很多,比较常用的是JSONP方法,JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全。

   即使使用jquery的jsonp方法,type设为POST,也会自动变为GET。

 

 解决:

 1.通过设置Access-Control-Allow-Origin来实现跨域访问 response.setHeader("Access-Control-Allow-Origin", "*");

 

    2 通过jsonp方式

 

js代码       

function showData (data) {
  console.info("调用showData");
  alert(data.success);
}

$.ajax({
 url: "http://localhost:9090/student",
 type: "GET",
 dataType: "jsonp",  //指定服务器返回的数据类型
 jsonpCallback: "showData",  //指定回调函数名称
 success: function (data) {
     console.info("调用success");
 }
});

 

 服务端代码  

response.setContentType("text/plain;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
String callback = request.getParameter("callback");
String data = "{\"success\":" + "true}";
String result = callback + "(" + data + ")";
response.getWriter().write(result);

 

  

  

posted @ 2017-09-12 13:24  nozbwang  阅读(112)  评论(0编辑  收藏  举报