如何连接Angular 2和php后端(mysql)

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

我试图回应json_encode结果(这是有效的),但我得到一个例外:未捕获(在承诺中):意外的令牌<在Chrome中的位置0错误的JSON中. 错误的行:

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);    

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...