当前位置 博文首页 > u010786200的博客:jfinal jquery解决ajax 跨域访问--jsonp

    u010786200的博客:jfinal jquery解决ajax 跨域访问--jsonp

    作者:[db:作者] 时间:2021-07-06 12:25

    JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的 js无法操作b.com或是c.a.com域名下的对象。

    简单例子:

    B端的 java 后台:

    public void getInfo(){
       getResponse().addHeader("Access-Control-Allow-Origin", "*");
       Map json=new HashMap();
          json.put("status",0);
          .....    //这里加上你要返回的json字段
       String callback = getRequest().getParameter("callback"); 
       json.put("res",true);
       String jsonp = callback+"("+ JsonKit.toJson(json)+")";//返回的json 格式要加callback()
       renderJson(jsonp);
    }
    
    A端的js请求:
    $.ajax({
      type:'get',
      url:'B端的url,域名加方法,如:www.baidu.com/getInfo',
      data:'',
      dataType:'jsonp',
      contentType:'application/x-www-form-urlencoded;charset=UTF-8',
      async:false,
      cache:false,
      success:function(response){
      //扩展回调函数
        if(callback!=null){
        //处理数据......
      }
      },
      error:function(){
        //处理异常数据...
      }
    });
    
    
    
    
    原文链接:http://www.cnblogs.com/jekaysnow/p/6109533.html
    cs
    下一篇:没有了