2

angular 5フロントエンドアプリからルーメンバックエンドの安らかなAPIにHTTPリクエストを送信する際に問題があります。

ええと、単純にユーザーを登録したいだけです。

ユーザーの作成を処理するためのルーメン バックエンド コードを次に示します。

public function create(Request $request)
{
    $this->validate($request, [
      'screen_name' => 'required',
      'email' => 'required',
      'password' => 'required'
    ]);

    $request['api_token'] = app('hash')->make(str_random(60));
    $request['password'] = app('hash')->make($request->password);

    $user = User::create($request->all());

    return response()->json($user, 201);

}

バックエンドを確認したところ、POSTMAN で正常に動作します。

angular 5 で:

registerUser(value){
var Indata={
  screen_name: value.scrname,
  email: value.email,
  password: value.password
}


return this.http.post(window.location.hostname+':1000/api/v1/users/',Indata);

}

そして、このAngularリクエストは、テスト対象の公開された偽のAPIでもチェックされ、正常に動作します.

そのため、ルーメン API サーバーと私の角度サーバーがローカル サーバーで動作しているため、最初に CORS の問題が発生しました。それから私は追加しました:

window.location.hostname

それ以外の :

http://localhost

CORSの問題は解決しましたが、問題がどこにあるのか理解できない問題が発生しましたか?

error: error { target: XMLHttpRequest, isTrusted: true, lengthComputable: 
false, … }
headers: Object { normalizedNames: Map, lazyUpdate: null, headers: Map }
message: "Http failure response for (unknown url): 0 Unknown Error"
name: "HttpErrorResponse"
ok: false
status: 0
statusText: "Unknown Error"
url: null

この問題に関して角度のあるプロキシ構成も見つけましたが、機能しませんでした。

ですから、どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

0

試しましたか: this.http.post('/api/v1/users/',Indata)?

src フォルダーに proxy.conf.json がありますか?

proxy.conf.json:

{
  "/api/*": {
    "target": "http://localhost:8000",
    "secure": false,
    "logLevel": "debug"
  }
}

「サーブ」の下の angular.json では、次のようになります。

"serve": {
 "builder": "@angular-devkit/build-angular:dev-server",
 "options": {
   "browserTarget": "frontend:build",
   "proxyConfig": "src/proxy.conf.json"
}

また、ルーメンにも CorsMiddleware を設定する必要があります。

于 2020-06-05T16:22:58.997 に答える