2

ポート 8000 で angularJS アプリを提供するために高速サーバーを実行してい$http.getます。API をヒットするためにサービスの内部を使用しています。json-server
を 使用して 3000 で API をホストしています。ブラウザーに URL を入力すると、JSON が提供されます。しかし、アプリを開くと、devtools に次のエラーが表示されます。

XMLHttpRequest は localhost:3000/techData を読み込めません。クロス オリジン リクエストは、http、data、chrome、chrome-extension、https のプロトコル スキームでのみサポートされます。

これは angularjs サービスです。

techApp.factory('techData', function ($http) {
  let data;
  $http.get('localhost:3000/techData')
    .then((response) => {
      data = response.data;
    });

    return {
      techData: data
    };
});

この問題を見て、json-server がクロス オリジン リクエストを許可することを知りました。

4

1 に答える 1

4

わかりました、誰かがここにいる場合に備えて、私は で URL を使用していませんでしたhttp。に与えられた引数$http.getを次のように変更すると、問題が解決しました。

$http.get('http://localhost:3000/techData')
于 2017-11-06T04:38:54.367 に答える