提取:边缘17中的状态302

时间:2018-08-27 13:16:40

标签: json microsoft-edge fetch-api http-status-code-302

我正在使用js fetch API从JSON检索数据。 它工作正常(即使在IE 11中也是如此),除了在Edge 17中我得到302之外,响应标头是:

我的本​​地网站是在Mac上,我正在使用BrowserSync通过192.168.100.X:3000进行访问 然后我更新了我的PC主机文件,如下所示:

192.168.100.X  http://local.mysite.com

这是我的提取呼叫:

   fetch('/fr/fil-actualites-json', { mode: 'cors' })
      .then(
        function(response) {
          console.log('code :' +response.status);
          if (response.status !== 200) {
            console.log('Looks like there was a problem. Status Code: ' +
              response.status);
            return;
          }

          // Examine the text in the response
          response.json().then(function(data) {
            // do some stuff
          });
        }
      )
      .catch(function(err) {
        console.log('Fetch Error :-S', err);
      });

感谢您的帮助;)

1 个答案:

答案 0 :(得分:3)

Safari抛出此错误:

unhandled promise rejection syntaxerror the string did not match the expected pattern

我发现了the answer

  

凭据的默认值为“ same-origin”。

     

但是,凭据的默认值并不总是相同。的   以下版本的浏览器实施了较旧版本的   获取默认为“忽略”的规范:

     

Firefox 39-60 Chrome 42-67 Safari 10.1-11.1.2如果定位到这些   浏览器,建议始终指定凭据:'same-origin'   显式地使用所有提取请求,而不是依赖默认值:

fetch('/users', {
  credentials: 'same-origin'
})