我正在试图获取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