阿里易源天气接口get请求 ie跨域

阿里应用市场购买易源天气接口,使用get请求,添加自定义头部(Authorization认证)遇到:

1.接口服务器端已经添加了允许跨域请求头部

360和谷歌浏览器可以正常浏览;

2.ie浏览器报错,请求中止

SCRIPT7002: XMLHttpRequest: 网络错误 0x80070005, 拒绝访问。

网上搜索cors preflight都是自定义请求头部导致,跨域请求问题,或者改成post,或者改成jsonp。

3.改用postman把接口跑了一遍,生成原生js请求,在ie里面没有出现请求中止的问题

4.仔细对比,发现我使用的地区名字是汉字,在get请求中汉字没有转码,在360和谷歌浏览器没有影响,在ie里面直接请求中止,使用encodeURI(city)转码以后就好了。

总结:

其实这不是跨域问题,而是ie里面get请求或者地址传参,汉字未转码导致的请求中断。困扰半天,都是基础问题!

$.ajax({"url": "http://ali-weather.showapi.com/spot-to-weather?area="+encodeURI(city)+"&needMoreDay=1&needIndex=1&needAlarm=1", "type": "GET", "headers": { "Authorization": "APPCODE " +APPCode }, success: function (datas) { console.log(datas) if (datas) { var airdatesession=JSON.stringify(datas); sessionStorage.setItem('airdatesession',airdatesession); $scope.dateInfo=datas.showapi_res_body; $scope.toadyair=datas.showapi_res_body.now; $scope.alarmList=datas.showapi_res_body.alarmList; $scope.arr=[$scope.dateInfo.f2,$scope.dateInfo.f3,$scope.dateInfo.f4,$scope.dateInfo.f5] $scope.dayhour=day; } }, error: function (msg) { console.log(msg) } });

转载于:https://my.oschina.net/u/3101682/blog/3026263

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值