ウェブサイト検索

typescript - Angular 8でのREST APIリクエストがstatusText: "Unknown Error"を表示しています


私はREST APIサービスを通じてサーバーからデータを取得しようとしています。service.tsの中には以下があります。

    getCategories(): Observable<Category> {

// Http Options
    const httpOptions = {
      headers: new HttpHeaders({
        'Content-Type': 'application/json',
        'Access-Control-Allow-Origin' : '*',
        'Access-Control-Allow-Methods' : 'POST'
      })
    };
        return this.http.post<Category>(this.apiURL+'api', JSON.stringify({"type":"get_categories"}), httpOptions )
        .pipe(
          retry(0),
          //catchError(this.handleError)
        )
      }

これにより、以下のようにエラーが再び表示されます。

オブジェクト { ヘッダー: {…}, ステータス: 0, ステータステキスト: "不明なエラー", URL: "http://localhost/test/api", ok: 偽, 名前: "HttpErrorResponse", メッセージ: "http://localhost/test/api に対するHTTP失敗応答: 0 不明なエラー", エラー: エラー }

たくさんの投稿を参照してきましたが、何も役に立ちません。

回答 #1

このエラーが発生します

エラー ReferenceError: "httpOptions が定義されていません"

なぜなら、あなたは getCategories のスコープの外で定義された httpOptions を使っているからです

あなたはコードをこのように変更するべきです。

getCategories(): Observable<Category> {
   const httpOptions = {
        headers: new HttpHeaders({
        'Content-Type': 'application/json',
        'Access-Control-Allow-Origin' : '*',
        'Access-Control-Allow-Methods' : 'GET, POST, PUT, DELETE'
        })
    };

   return this.http.post<Category>(this.apiURL+'api', JSON.stringify({"type":"get_categories"}), httpOptions )
    .pipe(
      retry(0),
      //catchError(this.handleError)
    )
  }