javascript - JS 中的 XMLHttpRequest 在 Safari 上不起作用
问题描述
在谷歌和这里搜索并尝试了一些东西。我设置的页面只能有 Javascript 代码。我已经尝试了以下请求以获取一些详细信息。它适用于 Chrome 和其他浏览器,但不适用于 Safari。我在 Safari v13.1 上收到“加载资源失败:服务器响应状态为 404 ()”。
假设这需要为 Safari 或 CORS 发送不同的标头会导致一些问题。不确定这一点。尝试了 fetch 方法,但没有奏效,并且出现了同样的问题。我相信很多人都遇到过这个问题,并在 JavaScript 中找到了解决方法。对此的任何帮助将不胜感激。
XML 请求 JS
var xhr = new XMLHttpRequest();
console.log(xhr);
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4) return; {
console.log(JSON.parse(xhr.responseText));
}
};
xhr.open("GET", "/api/storefront/orders/" + buildOrderID() + "");
xhr.setRequestHeader("Content-Type", "application/json");
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.send();
获取请求 JS
fetch("/api/storefront/orders/" + buildOrderID() + "").then(function (response) {
// The API call was successful!
return response.json();
}).then(function (data) {
// This is the JSON from our response
console.log(data);
}).catch(function (err) {
// There was an error
console.warn('Something went wrong.', err);
});
解决方案
推荐阅读
- pyspark - 如何从字符串中生成日期时间
- java - Spring Boot 可以从环境变量中加载区分大小写的 Map 键吗?
- google-apps-script - 如何修复运行良好的 OnChange 脚本,然后在修改 Google 表格时停止工作
- excel - 这个 Excel VBA 代码问题有什么问题
- docker - 如何让 Docker 使用所有 CPU 内核?
- matlab - 使用一组开始和结束索引对数组进行索引
- powershell - 如何在 cmd 的 PowerShell 调用中包含参数?
- bash - 如何创建/管理作业队列
- java - 一个topic有4个队列,只消费一个
- azure-data-factory-2 - Azure 数据工厂中是否有任何选项可以在从源系统复制数据时保留相同的日期格式