Chrome'跨源读取阻塞(CORB)阻断跨源响应'离子



我正在尝试对用户进行身份验证,但是由于交叉原始读取阻塞(CORB)阻止 exudy My Login.ts代码是

if (this.plugins.isOnline()) {
            if (this.wait == true) {
                return;
            } else if (this.userLogin.email == '' || this.userLogin.password == '') {
                this.utility.doToast("Please don't leave any field blank.");
                return;
            } else {
                this.wait = true;
                this.auth.login(this.userLogin).subscribe((success) => {
                    this.wait = false;
                    console.log(success.successData);
                    this.credential.setUser(success.successData);
                    this.plugins.sendTags(success.successData.id)
                    this.rememberUsertype(success.successData.is_celebrity);
                    if(success.successData.is_celebrity == '0'){
                    this.app.getRootNav().setRoot("HomePage");
                    }
                    else if(success.successData.is_celebrity == '1'){
                    this.app.getRootNav().setRoot("DashboardPage");
                     }
                    }, (error) => {
                        console.log(error);
                    this.wait = false;
                    if (this.utility.timeOutResponse(error))
                        this.utility.doToast("The email or password you entered is incorrect.")
                })
            }
        } else {
            this.utility.doToast(this.utility.internetConnectionMessage());
        }

this.auth.login函数

login(params) {
        console.log(params);
        var url = this.constants.API_ENDPOINT + 'login';
        var response = this.http.post(url, params, {}).map(res => res.json());
        return response;
    }

允许控制-Allow-Origin:允许您从任何来源请求使用AJAX的任何站点。添加响应'允许控制 - 允许孔: *'标题

在您的浏览器中添加此扩展名:允许控制-Allow-Origin

您需要在API响应中添加一些CORS标头。

我的后端在PHP中,所以我只是添加了此字符串:

    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');
    header('Access-Control-Allow-Headers: Content-Type');

您可以做几件事。一种是将CORS策略添加到您的登录后端。如果您正在为后端使用节点,则有一个名为CORS的NPM软件包,可以解决问题。如果没有,应该有一种简单的方法来在您使用的语言/框架中添加策略。如果您通过诸如Firebase或auth0之类的服务提供商进行身份验证,则可以将URL(Localhost或任何其他)添加到其设置中,并将解决。

您可以做的另一件事是在浏览器中添加扩展名,以便为您发送CORS前飞行请求。我有一个与Chrome一起使用的,它被称为CORS。它效果很好,但要小心。我仅在Localhost上开发时才使用它,因此我将其配置为仅在URL为Local主机时才添加前跨请求。

最终您需要的是这两种方法的组合。

相关内容

  • 没有找到相关文章

最新更新