利用jsonp跨域访问
之前因为项目原因,研究很长时间跨域访问,网上页有很多资源,最终决定使用jsonp进行访问
项目框架使用的是spring spring MVC mybatise
前台你
ajax请求代码:
//获取当前访问地址
var url = window.location+"";
var arr = url.split('/');
var urls = arr[0]+"//"+arr[2];
$.ajax({
type: 'post',
url: urls+"项目地址",
dataType:'jsonp',
jsonp: "callback",
scriptCharset: 'utf-8',
data: {
"test":test
},
success:function(data){
alert(data['test'])
}
后台接收代码:
@RequestMapping(value = "/项目地址")
@ResponseBody
public void validation(HttpServletRequest request,HttpServletResponse response,String callback,String test) throws Exception {
JSONObject jsonObj = new JSONObject();
jsonObj.put("test", test);
Object results = callback+"("+jsonObj+")";
PrintWriter out = null;
response.setContentType("application/json; charset=utf-8");
try {
out = response.getWriter();
out.write(results.toString());
} catch (IOException e) {
e.printStackTrace();
} finally {
out.close();
}
}
代码还有很多不成熟的地方,希望大神们一起讨论