$.ajax({
url:"http://a.com/ver?jsoncallback=?",
dataType:"jsonp",
jsonpCallback:"person",
async:false,
success:function(data){
alert(data.info);
}
});
上面是Ajax的一些示例代码,其中有几个地方需要说明
async:false是取消异步请求,改变同步,因为这个地方如果改成异步的话,有时候请求还没返回,后面就执行了,导致方法不一致。
dataType:jsonp 这个是跨域的类型
jsoncallback=?在url后面加上这个,用来请求返回时调用(必须要加上的),?号的话,jquery会自动加上随机的字符串
response.setContentType("application/json;charset=utf-8");
String jsoncallback = request.getParameter("jsoncallback");
PrintWriter out = null;
out = response.getWriter();
out.println(jsoncallback + "({\"info\":\"success\"})");
上面的JAVA代码中,有一个地方是很重要的,就是返回的时候,必须是用获取到的jsoncallback带着json数据返回。。
而且返回的数据格式是json,格式是{\"info\":\"success\"},里面的\"一定也要加上,不然在前端接收不了