1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > jQuery解决ajax请求的跨域问题

jQuery解决ajax请求的跨域问题

时间:2020-08-21 10:53:38

相关推荐

jQuery解决ajax请求的跨域问题

这两天工作中频繁的遇到JS的跨域问题,都通过绕开ajax请求的方式。特地百度了一下,把跨域问题解决了。在这分析一下

首先贴上js的页面代码:

<html><head><title>cross domain</title><script type="text/javascript" src="jquery-3.1.1.min.js"></script><script type="text/javascript">function corssDomain(){$.ajax({url:"http://127.0.0.1:8080/DailyStudy/daily/info",type:"get",success:function(data){alert(data.name);},dataType:"jsonp",jsonpCallback:"method"});}window.onload = function(){corssDomain();};</script></head></html>

看到网上的很多说法,用JSONP可以解决跨越问题,不过在回调函数里面,一直拿不到JSON格式的数据,页面的报错信息跟下面的图一样

上网查资料发现,请求方式里添加JSONP字段解决跨域问题后,数据的格式却不能是Json的。后台服务返回的数据格式必须是jsonpCallback的值加一对括号,括号里面是json数据。这样才可而已正常解析。我没改动之前的返回数据是这样的{"key":"0325","name":"pony"},改动之后是这样的method({"key":"0325","name":"pony"})。附上后台的改动代码:

public String dailyInfo()throws Exception{JSONObject json = new JSONObject();json.put("key", "0325");json.put("name", "pony");//return json.toJSONString() ;改动前return "method(" + json.toJSONString() + ")";//改动后}

再进行测试

这样就可以获取到json数据了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。