解决跨域json无法收到结果的问题

来源:互联网 发布:产品数据分析报告模板 编辑:程序博客网 时间:2024/05/18 02:43

我们在js与后台请求交互的时候,经常需要使用到json格式进行交互,但是当请求不在同一个服务器上,或者在不同的域名时,会造成无法获取后台返回的json数据,

这个时候我们需要用到jsonp来解决。

前台调用代码如下:重点在加粗部分。

var urlget='/j/web/uc/checkUserEname.jsp';
var rand =new Date().getTime();
$.ajax({
  type: "GET",
  async:'false',
  contentType: "application/json; charset=utf-8",
  url: urlget,
  dataType:'jsonp',
  jsonp:'jsoncallback',
  data: {"userEname":userEname,"rand":rand,"jsoncallback":""},
  success: function(data){
   if(data.flag=='F'){
    alert('用户名已被占用');
    return false;
   }
  },
     error:function(XMLHttpRequest, textStatus, errorThrown){
   alert('请检查服务器!') ;
  }
 });

后台返回数据示例:
JSONObject jobj = new JSONObject();
jobj.put("flag", result);
String jsoncallback = request.getParameter("jsoncallback");
response.getWriter().write(jsoncallback+"("+jobj.toString()+")");

0 0
原创粉丝点击