【发布时间】:2017-05-30 13:17:42
【问题描述】:
我搜索了一个可以解决我很多问题的答案,但没有一个主题适合我的场景..
我必须在我的应用程序中进行 AJAX 调用,它在所有桌面浏览器和某些移动浏览器上都可以正常工作(例如在我的华硕 zenPhone 原生浏览器上它可以正常工作,即使在我上班的 iPhone 上也能正常工作(FF 和 Safari) ))但在谷歌浏览器(移动)中没有办法,在这个调用完成但响应它是空的(只有空的,没有提供错误)......我问一些朋友也对其进行测试并出现类似的结果(空响应)....我有一个 https 服务器和一个 https 端点
这是我的代码:
<script>
var x = Math.floor((Math.random() * 10000000) + 2000);
var data = JSON.stringify({
"Token": x,
"Subject": "testAPI"
});
var xhr = new XMLHttpRequest();
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
//console.log(this.responseText);
var dataJ = JSON.parse(this.responseText);
var dataA = dataJ.Questions;
alert(dataA[0].img);//this is already empty on my mobile :(
dataA.forEach(function(entry) {
//console.log(entry);
});
}
});
xhr.open("POST", url);
xhr.setRequestHeader("content-type", "application/json");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.send(data);
</script>
服务器端 CORS 已启用,正如我所说,它在我测试过的所有桌面上都能完美运行......我不知道我是否可以向你们提供 url(我必须向 API 提供者询问)但是如果你能给我一些提示,那就太好了......
非常感谢您的宝贵时间!
[编辑]
在遇到一些问题后,我得到了一个错误(使用开发工具从我的手机远程测试到我的电脑)
加载资源失败:net::ERR_INSECURE_RESPONSE
在其他设备上我没有收到此错误...
【问题讨论】:
标签: javascript ajax google-chrome xmlhttprequest cors