跨域问题有两种解决方法,一种是通过后台代码发请求,然后把请求回来的数据传给前端。
一种是直接在前台发,不过请求的数据接口返回的数据要给成相应的格式来配合前台跨域的请求。
在此使用第二种方法:
首先前台:
$.ajax({
type:'get',
url:'http://localhost:8080/Demo/testData.do',
dataType:'jsonp',
jsonp:'callback',
jsonpCallback:"successCallback",
success:function(data){
alert(data);
},
error:function(XMLHttpRequest, status, errorThrown){
alert(XMLHttpRequest.status);
}});
后端:
JSONObject json = new JSONObject();
json.put("name", "haha");
response.getWriter().print("successCallback("+json.toJSONString()+")");
这里的successCallback跟前端的jsonpCallback:"successCallback"要保持一致,才能顺利到success的函数去。