angular2如何整合mysql_如何连接Angular 2和php后端(mysql)

本文介绍了在Angular应用中如何从PHP后端获取JSON数据时遇到的错误,以及解决这个问题的方法。作者提供了Angular代码示例,展示了如何使用Observables代替Promises来正确处理HTTP请求,并给出了PHP脚本返回JSON数据的示例。同时,PHP代码展示了如何从数据库查询数据并构造响应。
摘要由CSDN通过智能技术生成

所以我理解并知道ajax是如何工作的,因为我之前已经使用过它.但是如何从php脚本中检索JSON数据呢?

我试图回应json_encode结果(这是有效的),但我得到一个例外:未捕获(在承诺中):意外的令牌

错误的行:

search(): any

{

this.http.get('app/php/search.php').toPromise()

.then(response => this.data = response.json())

.catch(this.handleError);

}

Php文件(用于测试目的):

$json = array (

"age" => 5,

"bob" => "Lee",

);

echo json_encode($json);

解决方法:

你为什么不使用observables ..我在我的虚拟项目中使用了php作为后端.这是它的代码.

ngOnInit() {

let body=Path+'single.php'+'?id=' + this.productid;

console.log(body);

this._postservice.postregister(body)

.subscribe( data => {

this.outputs=data;

// console.log(this.outputs);

},

error => console.log("Error HTTP Post Service"),

() => console.log("Job Done Post !") );

}

PHP代码

$faillogin=array("error"=>1,"data"=>"no data found");

$successreturn[]=array(

"productid"=>"any",

"productname"=>"any",

"productprice"=>"any",

"productdescription"=>"any",

"productprimaryimg"=>"any",

"otherimage"=>"any",

"rating"=>"any");

// Create connection id,name,price,description,primary_image,other_image,rating

$productid = $_GET["id"];

$sql="SELECT * FROM product_list where id='$productid'";

$result = mysqli_query($conn,$sql);

$count = mysqli_num_rows($result);

$value=0;

while($line = mysqli_fetch_assoc($result))

{

$successreturn[$value]['productid']=$line['id'];

$successreturn[$value]['productname']=$line['name'];

$successreturn[$value]['productprice']=$line['price'];

$successreturn[$value]['productdescription']=$line['description'];

$successreturn[$value]['productprimaryimg']=$line['primary_image'];

$successreturn[$value]['otherimage']=$line['other_image'];

$successreturn[$value]['rating']=$line['rating'];

$value++;

}

echo json_encode($successreturn);

mysqli_close($conn);

标签:php,mysql,angular

来源: https://codeday.me/bug/20190527/1165164.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值