2016-09-22 21 views
2

にURLが見つかりません404は、私は、角に、通常のJSから私のコードを変換していますエラー:(約束で)キャッチされない:ステータス応答:角度2

return this._http 
    .post('/app/php/reports.php', data.toString(), 
    {headers:  this.headers}) 
    .toPromise() 
    .then(res => res.json().data) 
    .catch(this.handleError); 

以下のようなサービスを提供しています。通常のajax呼び出しで正常に動作しています。しかし、私はangular2を使ってポストをcoulntしました。誰かが私を提案してくださいすることができ、なぜ

輸入のものは、それがPHPをダウンロードし、私はコンソールエラーででURLをクリックした場合

import { Headers, Http, Response } from '@angular/http'; 
import { Injectable } from '@angular/core'; 
import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/operator/toPromise'; 

ヘッダが

private headers = new Headers({'Content-Type': 'application/json'}); 

以下に定義されている

を.PHP呼び出していないそのファイル。それはURLが正しいことを意味します。

+0

? – ranakrunal9

+0

@ ranakrunal9質問2で言われているように404エラーを受け取ります。 – candidJ

+0

あなたは角度2要求APIで404手段を取得しています。あなたのURLを通常の角度2のリクエストと比較して比較してください。ヘッダーやその他の設定が不足している可能性があります – ranakrunal9

答えて

16

あなたはあなたの 'app.module.ts' @NgModule輸入でInMemoryWeApiModule.forRoot(InMemoryDataService)を使用している場合は、それを変更してみてください:あなたが取得し、どこされるエラー

InMemoryWeApiModule.forRoot(InMemoryDataService, {passThruUnknownUrl: true})

Pass thru to a live XHRBackend If an existing, running remote server should handle requests for collections that are not in the in-memory database, set Config.passThruUnknownUrl: true. This service will forward unrecognized requests via a base version of the Angular XHRBackend. https://github.com/angular/in-memory-web-api#pass-thru-to-a-live-xhrbackend

app.module.ts 
... 

// Imports for loading & configuring the in-memory web api 

import { InMemoryWebApiModule } from 'angular-in-memory-web-api'; 
import { InMemoryDataService } from './in-memory-data.service'; 

@NgModule({ 
    imports: [ 
    ... 
    InMemoryWebApiModule.forRoot(InMemoryDataService, {passThruUnknownUrl: true}), // fake in memory API simulation 
    ], 
    ... 
関連する問題