0

を使用して Twilio API への「GET」リクエストを実行しようとしていますHttpClient module

import { HttpClient } from '@angular/common/http';

使用しています

Angular CLI: 6.0.8
Node: 8.11.3
OS: darwin x64

Firefox と Chrome を使用してテストしていますが、同じエラーが発生します

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://api.authy.com/protected/json/phones/verification/check?api_key=****. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

これは私がテストするために実行している関数です

    submitCode() {
    let data = {
        api_key: '',
        verification_code: '',
        phone_number: '',
        country_code:''
    }
    let headers = {
        'Access-Control-Allow-Origin' : '*',
        'Content-Type' : 'application/json',
    }
    this.HTTP.get('http://api.authy.com/protected/json/phones/verification/check',{params: data,headers:headers}).subscribe(
        resp=>{alert(1)},
        err=>{alert(2)},
        ()=>{alert(3)}
    )
}

2 番目のアラートがトリガーされるとどうなりますか?

ヘッダーなしで使用してみましたが、同じ問題です。ただし、ヘッダーを空のままにすると、API がトリガーされ、Twilio モニターによって表示されますが、CORS のためにデータが返されません。

4

1 に答える 1

1

バックエンド サーバーをデプロイし、それにリクエストを送信することで、この問題を解決しました。

(実際のクライアントから送信してリクエストに API キーを表示するよりも優れています)

他の解決策は、CORS-Anywhere http://cors-anywhere.herokuapp.com/を使用することです

于 2018-08-01T04:31:53.587 に答える