Axios 不适用于 safari 10.1,有时也不适用于 mozila 56

Axios doesn't work on safari 10.1 and sometime on mozila 56

我的 laravel vue2 网站出现问题。我正在使用 axios 进行登录和其他表单提交。 Axios 在 chrome 和 mozila 上运行良好,但一些用户报告说他们在 mozila 中获得 'Error: Network error',在 safari 10.1 中获得 undefined。 这是我正在使用的代码。

login(){

        this.show=true;
        var self=this;
        axios({
              method: 'post',
              url: this.sl+'/user/login',
              data: this.user
            })
             .then(function (response) {
                 self.show=false;
                 if(response.data.status=200){
                     self.showSucc(self.t('Done'), response.data.done)
                     setTimeout( ()=>{
                            window.location = response.data.url;                     
                           }, 1000 );
                 }


              })
             .catch(function (error) {

                self.show=false;
              alert(error); // shows undefined 
              alert(error.error);
                  if (error.response) {
                    if(error.response.data.password){
                      self.showWarn(self.t('Error'), error.response.data.password[0]);
                    }
                    if(error.response.data.error){
                      self.showWarn(self.t('Error'), error.response.data.error);
                    }

                  //console.log(error.response.data.password);

                } else if (error.request) {
                self.show=false;
                  console.log("Something went wrong");
                } else {
                self.show=false;    
                  console.log('Error', error.message);
                }

            });
     }


alert(error); // shows undefined 

如何让 axios 工作?注意:我为旧版浏览器添加了 polyfill,它解决了 IE 11 的问题。

谢谢。

我解决了 Preflight request 的问题。某些浏览器在发送实际 ajax 请求之前发送 OPTION 请求。所以我所要做的就是确保 OPTION 请求获得 200 的状态代码。就是这样。