2017-11-24 17 views
0

私はAngular4を初めて使っています。私はphp apiにリクエストをするサービスを持っています。私は、次のコードを持っている - 私は404ローカルホストを取得していますang4のPHPエンドポイントへのリクエスト

getWeather(keyword: string){ 
    return this.http.get("weather.php", { 
    params: new HttpParams().set('keyword', keyword), 
    headers: new HttpHeaders().set('Method', 'search'), 
    }); 

を:4200/weather.phpが見つかりません。 phpエンドポイントファイルを置くことが確実ではありません。

+0

weather.phpファイルはどこにアプリケーションにありますか? –

+0

私はそれを/ appフォルダに入れます –

答えて

1

localhost:4200がフロントエンドサーバーであると仮定すると、呼び出しでPHPサーバーのapiパスを設定する必要があります。 8080ポート上のローカルでのあなたのphpサーバーは、あなたがthis.http.get('http://localhost:8080/weather.php',...

+0

なぜ絶対URLを使用するのですか? – madalinivascu

+0

@madalinivascuこれはあなたのapiのバックエンドがあなたのフロントエンドのエントリーポイントと異なる場合です。 4200ポートを使用する場合は、PHPサーバーにリダイレクトするプロキシミドルウェアを作成します。 angle-cli:https://github.com/angular/angular-cli/blob/master/docs/documentation/stories/proxy.md –

+0

私はPHPサーバを持っていません...そのスクリプトファイルです... 。私は私の角度4のアプリからスクリプトに話を行くのですか –

0

src/assetsフォルダに入れてthis.http.get("assets/weather.php", {...を使用して呼び出すことができます。

0

を入力した場合アンギュラアプリケーションが4200ポートでホストされていると、あなたのPHPファイルは、ポート80

を使用するために使用してみてくださいためです

http://localhot/path/to/weather.php 
関連する問題