2017-08-05 15 views
-1

phpのjsonを角度4で実行しようとしていて、テーブルにデータを取り込もうとしています。ang 4 PHPからjsonを取得

export class CountryService { 

    constructor(private http: Http) {} 

    getCountries() { 
    return this.http.get('http://cube-developing.de/connect.php') 
     .toPromise() 
     .then(res => <any[]> res.json().data) 
     .then(data => { return data; }); 
    } 
} 

PHPパート:

<?php 
header("Access-Control-Allow-Origin: *"); 
header("Content-Type: application/json; charset=UTF-8"); 

$conn = new mysqli("LOGIN DATA") 

$result = $conn->query("SELECT _title, _description_short, _displayprice FROM datafeed23"); 

$outp = ""; 
while($rs = $result->fetch_array(MYSQLI_ASSOC)) { 
    if ($outp != "") {$outp .= ",";} 


    $outp .= '{"Produktitel":' . $rs[_title] . ','; 
    $outp .= '"Kurzbeschreibung":' . $rs[_description_short] . ','; 
    $outp .= '"Preis":'. $rs[_displayprice] . '}'; 
} 
$outp ='{"records":['.$outp.']}'; 
$conn->close(); 

echo json_encode($outp); 
?> 

PHPのレスポンスからJSONを取得する方法はあり 今私は、JSONファイルのデータを取得するには、これはありますか?

+0

はい、可能です。あなたの質問を正しく理解していれば、これはブローロードのようなものです。可能な限り最短の答え:PHPバックエンドを設定し、それにhttpリクエストを行います:D – Alex

+0

私が望むもの:D '@ angular/core'から{Injectable}をインポートします。 '@ angular/http'から{Http、Response}をインポートします。 @Injectable() エクスポートクラスProdukteService { コンストラクタ(プライベートHTTP:HTTP){} getProdukte(){ 戻りthis.http.get( 'http://cube-developing.de/connect.php ') .toPromise() .then(res => res.json()。records) .then(records => {return records;}); } } しかし、それは動作していません...私はこれを動作させるために変更する必要がありますか? – Degcube

+0

バックエンドをセットアップしましたか?良い。それからちょうど 'http:// cube-developing.de/connect.php'という完全なURLを追加してください。最初に' http'を付けないと、Angularはあなたのlocalhostからurlを自動的に探します(あなたが走っていると仮定して)それはもちろんそうした道を見つけることはできません)。 – Alex

答えて

0

とあなたの代わりにあなただけのこの行.then(res => <any[]> res.json().data)を削除する必要がjavascriptオブジェクトのJSONを取得したい:

は、このチュートリアルをご覧ください。

関連する問題