ajax跨域访问3解

前端之家收集整理的这篇文章主要介绍了ajax跨域访问3解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一,java代码放开,这样前端感受不到跨域的异同

@RequestMapping("/getlefttimes")@H_502_5@ @ResponseBody@H_502_5@ String getLeftTimes(HttpServletRequest req,HttpServletResponse resp) {@H_502_5@ /* 跨域 begin */@H_502_5@ resp.setHeader("Access-Control-Allow-Headers","Content-Type");@H_502_5@ resp.setHeader("Access-Control-Allow-Origin","*");@H_502_5@ resp.setHeader("Access-Control-Allow-Methods","GET");@H_502_5@ resp.setHeader("Allow","GET");@H_502_5@

二,jsonp的方式,前后端各自改两个小地方(看红字)

①js:

function canDraw(url){@H_502_5@ $.ajax({@H_502_5@ type:"GET",@H_502_5@ url:url+'?callback=?',@H_502_5@ dataType:"jsonp",@H_502_5@ success:function(data){@H_502_5@ var data = eval(data);@H_502_5@ var lefttime = data.lefttimes;@H_502_5@ alert(lefttime);@H_502_5@ }@H_502_5@ })@H_502_5@ }

②java:

@RequestMapping("/getlefttimes")@H_502_5@ @ResponseBody@H_502_5@ String getLeftTimes(HttpServletRequest req,HttpServletResponse resp) {@H_502_5@ String callBack = req.getParameter("callback");@H_502_5@ int leftTimes = 0;@H_502_5@ JSONObject json = new JSONObject();@H_502_5@ json.put("lefttimes",leftTimes);@H_502_5@ json.put("awarddata",awardData);@H_502_5@ return callBack + "(" + json.toString() + ")";@H_502_5@ }@H_502_5@

即可

猜你在找的Ajax相关文章