Javascript Safari上的window.fetch()出现跨原点错误

Javascript Safari上的window.fetch()出现跨原点错误,javascript,safari,xmlhttprequest,cors,fetch,Javascript,Safari,Xmlhttprequest,Cors,Fetch,我正在尝试使用window.fetch API和Polyfill来支持不支持的浏览器 我的代码在Chrome和Firefox中都能正常工作,但在Safari(都在MacOSX上)中失败了 我在Safari中遇到以下错误: 无法加载XMLHttpRequest . 不允许使用源代码 访问控制允许源 这可能与正在使用的polyfill有关吗?因为它提到了XMLHttpRequest(我假设polyfill可以追溯到这一点) 我做错了什么或遗漏了什么?它快把我逼疯了 谢谢 如果safari与Chro

我正在尝试使用window.fetch API和Polyfill来支持不支持的浏览器

我的代码在Chrome和Firefox中都能正常工作,但在Safari(都在MacOSX上)中失败了

我在Safari中遇到以下错误:

无法加载XMLHttpRequest . 不允许使用源代码 访问控制允许源

这可能与正在使用的polyfill有关吗?因为它提到了XMLHttpRequest(我假设polyfill可以追溯到这一点)

我做错了什么或遗漏了什么?它快把我逼疯了


谢谢

如果safari与Chrome和firefox匹配,请检查safari的n/w和代理设置。我不确定这在Chrome或firefox中是如何工作的,因为当您将
模式设置为
'no-cors'
“JavaScript可能无法访问结果响应的任何属性。”那么,您是否真的从Chrome/Firefox中解析的承诺中获得了数据?如果您只是想发出一个GET请求,而不需要访问响应数据,那么您可以在URL中创建一个
属性,并将其附加到DOM中,你找到解决方法了吗?检查safari的n/w和代理设置是否与Chrome和firefox匹配。我不确定这在Chrome或firefox中是如何工作的,因为当你将
模式设置为
'no-cors'
“JavaScript可能无法访问结果响应的任何属性。”那么,您是否真的从Chrome/Firefox中解析的承诺中获得了数据?如果您只是想发出一个GET请求,而不需要访问响应数据,那么您可以在URL中创建一个
属性并将其附加到DOM中。大约两年后,您找到了解决方案吗?
function signup(fullname, email, restaurant, source) {
  return new Promise((resolve, reject) => {
    const params = `cm-name=${encodeURIComponent(fullname)}&cm-ottdth-ottdth=${encodeURIComponent(email)}&cm-f-hykuuh=${encodeURIComponent(restaurant)}&cm-f-hyurjd=${encodeURIComponent(source)}`;
    fetch(`http://tastyplc.createsend.com/t/d/s/ottdth/?${params}`, {
      method: 'get',
      mode: 'no-cors'
    })
    .then(response => response.text())
    .then(data => resolve(data))
    .catch(error => reject(Error(error)));
  });
}