コンテキスト:私は自分の会社の新しいプロジェクトを開始しています。私はいくつかのWeb開発を行ってから、最新のプラットフォームを使用して構築することを決めてから何年も経ちました。AureliaとバックエンドAPIの接続
現在のスタック:
- アウレリアフロントエンド(ローカルホスト上で実行されている:9000)ExpressJS(ローカルホスト上で実行されている:8000)を使用して
- バックエンドのREST API AWS上で稼働する
- PostgreSQLデータベースのためのデータを提供バックエンド
質問:フロントエンドとバックエンドを正しく接続できないようです。ここで
は私のコードです:
import {inject} from "aurelia-framework";
import {HttpClient} from "aurelia-http-client";
@inject(HttpClient)
export class Login {
constructor(httpClient){
this.http = httpClient;
}
signIn() {
const url = 'http://localhost:8000/api/user/demo/test';
this.http
.get(url)
.then(data => {
console.log("data");
console.log(data);
})
.catch(error => {
console.log('Error getting ' + url);
console.log(error);
});
};
}
これは常に「応答:によってProgressEvent」と、catchブロックで終わる私は、ブラウザでURLを入れた場合、私は適切なJSONを取得
:
{"status":"success","data":[],"message":"Retrieved ALL users"}
上記のコードは、「ローカル」コンテンツ(つまり、localhost:9000)に対してのみ機能します。他の場所からコンテンツが必要になると、すぐにこのエラーが発生します。私は何が欠けていますか?
解決済み!私は最初のリンクを見て、これを私の明白なバックエンドに追加しました:app.use(function(req、res、next){ \t res.header( "Access-Control-Allow-Origin"、 "http:// localhost: 9000 "); \t res.header("アクセス制御許可ヘッダー "、" Origin、X-Requested-With、Content-Type、Accept "); \t next(); }); –
素晴らしいです。喜んで私の野生の推測は正しかった。 :) – Travo