因为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);