使用ajax方式跨域获取数据

时间:2022-12-09 17:04:56

因为javascript同源策略的限制,使用ajax方式获取其他网站的数据来用在自己的页面时,就遇到了跨域不能获得数据的问题,此时可以用Jquery的$.getJSON方法处理:

你的页面xxx.jsp需要的js代码:

<script src="jquery.min.js"></script> <script type="text/javascript"> var
url="http://url?callback=?";
var
data={username:"sanjer",userid:"110"};
$.getJSON(url,data,function(backdata){   alert(backdata.username); }); </script> 数据源后台方法xxx.java: String callback=request.getParameter("callback"); //Jquery经过自己的处理后//1.将callback=?的问号替换为回调方法的名称2.将data里的数据附加到url后面 String username=request.getParameter("username");
String userid=request.getParameter("userid");
String backjsondata="({'username':'张三','userids':'100'})";
String mybackdata=callback+backjsondata;
//这里callback变量一定要返回回去,并把已包装成JSON的格式的json字符串和callback一并返回ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");
ServletActionContext.getResponse().getWriter().print(mybackdata);