您的位置:首页 > Web前端 > JQuery

jQuery Ajax 跨域请求与getJSON跨域请求

2016-09-30 16:21 253 查看
1.ajax跨域请求

$.ajax({   
    async:false,   
    type: 'GET',
    url: 'http://www.mysite.com/demo.do',  // 跨域URL  
    dataType: 'jsonp',   
    jsonp: 'jsoncallback', //默认callback  
    data: mydata,   
    timeout: 5000,
    success: function (json) { //客户端jquery预先定义好的callback函数,成功获取跨域服务器上的json数据后,会动态执行这个callback函数   
      if(json.actionErrors.length!=0){   
        alert(json.actionErrors);   
      }   
    },   
    error: function(xhr){   
      //jsonp 方式此方法不被触发  
      //请求出错处理   
      alert("请求出错(请检查相关度网络状况.)");   
    }   
});  
2.getJSON跨域请求

$.getJSON("http://e.hnce.com.cn/tools/ajax.aspx?jsoncallback=?",
{ id: 0, action: 'jobcategoryjson' },
function(json) {
    alert(json[0].pid);
    alert(json[0].items[0]._name);

});

3.服务器后台:
@RequestMapping(value = "/getDataById")  public String getDataById(@RequestParam("id") String id,HttpServletRequest request, HttpServletResponse response)      throws IOException {        String callback = request.getParameter("jsoncallback");        String json = .....业务逻辑.....;        response.setContentType("text/html");        response.setCharacterEncoding("utf-8");    
response.getWriter().write(callback + "(" + json + ")");
  return null; }

4.数据格式比较json格式:
{
"message":"获取成功",
"state":"1",
"result":{"name":"工作组1","id":1,"description":"11"}
}
jsonp格式:
callback({
"message":"获取成功",
"state":"1",
"result":{"name":"工作组1","id":1,"description":"11"}
})
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery 跨域