我正在試圖獲取php的json執行角4來填充表。 現在我有這個得到一個JSON文件的數據:angular 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?
是的,這是可能的。這就像brooooad,如果我正確理解你的問題。最短的答案可能:建立一個PHP後端並向其發出http請求:D – Alex
多數民衆贊成我想要的:D import {Injectable} from'@ angular/core'; 從'@ 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
所以你有後端設置?好。然後只需追加完整的URL,可能是'http:// cube-developing.de/connect.php'如果你在開始時不附加'http',Angular會自動從你的本地主機搜索url(假設你正在運行它在當地),它當然不會找到這樣的路徑。 – Alex