前言:因为公司的需求,调用第三方的接口,数据同步到页面上
首先说一下现在的处理方法使用proxiy,这个就是写一个js文件,里面做个代理,就像nginx那样。之前很不错的Cors,这个其实有个弊端,如果你运行所有都可以跨域,那就不能携带cookie,如果不是,你就要把每一个可以跨域的都要配置出来。
我的处理过程:
看到有现成的jquery,就想着用ajax应该就可以了,但是我测试发现控制台提示我跨域了。然后我为了方便测试,自己写了个测试接口,下面是我使用的总结。
1.首先排除修改host文件的方法,我在网上查到可以使用“jasonp”,自己测了下,确实可以,但是必须要添加fallback方法,而且接口里必须要给你拼接这个方法名。因为人家接口里没有所以排除。
2.retch,这边踩到了一个 大坑,弄了一下午。这个就是“no-cors”,如果你查retch跨域一定会看到这个,这个我只能说发这个人真的不够严谨,它确实可以让你不会产生跨域的异常,但是你根本无法获取到数据更加不能操作,这都“no-cors”了,你还跨什么。
然后是这个“cors”,但是这个要添加响应头,而且接口里也要写相关的配置,所以也不行。
3.最后没办法了,只能写在后台里调用了。
4.我这里有两个类型,一个是list,一个是字符串
如果是字符串:
success: function (response) {
console.log("now",response);
response= $.parseJSON(response);
$("#Jqs").html(response.Jqs);
$("#Jls").html(response.Jls);
}
如果是list:
success: function (response) {
let newres = $.parseJSON(response);
let snew = newres.XwList; //获取list的内容对象
$.each(snew,function (i,item)