I am trying to connect my angular app with PHP. I am getting a error
Unexpected token < in JSON at position 0
This is my code :
PHP :
<?php
$successreturn[]=array(
"id"=>"any",
"firstname"=>"any",
"lastname"=>"any",
"dateofbirth"=>"any",
"city"=>"any",
"gender"=>"any");
header("Access-Control-Allow-Origin: *");
$servername="localhost";
$username="root";
$password="sandeepchetikam";
$dbase="mydb";
$conn=mysqli_connect($servername,$username,$password,$dbase);
if (!$conn) {
echo "Connection Problem".mysqli_connect_error($conn);
}
$sql= "SELECT * FROM Employees";
$result = mysqli_query($conn,$sql);
$count = mysqli_num_rows($result);
$value=0;
if(!$result){
echo "Connection Failed " .mysqli_connect_error($result);
}
while($row = mysqli_fetch_assoc($result)){
$successreturn[$value]['id']=$row['id'];
$successreturn[$value]['firstname']=$row['firstname'];
$successreturn[$value]['lastname']=$row['lastname'];
$successreturn[$value]['dateofbirth']=$row['dateofbirth'];
$successreturn[$value]['city']=$row['city'];
$successreturn[$value]['gender']=$row['gender'];
$value++;
};
echo json_encode($successreturn);
?>
Service:
import {Injectable} from '@angular/core';
import {Http,Response,Headers,ResponseOptions} from '@angular/http';
import {Observable} from 'rxjs';
import {Data} from './data';
@Injectable()
export class DataService{
empurl="http://localhost/php/connect-employee.php";
constructor(private http:Http){}
getDetailsFromDataBase():Observable<Data[]>{
return this.http.get(this.empurl)
.map(this.extractData)
.catch(this.HandleError)
}
private extractData(res: Response){
let body= res.json();
return body.data() || []
}
private HandleError(error: Response| any){
console.log(error.message || error);
return Observable.throw( error.message || error);
}
}
Component :
import { Component,OnInit } from '@angular/core';
import {DataService} from './data-service';
import {Data} from './data';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
datas : Data[];
errorMessage : String;
firstName : String;
lastName : String;
Gender : String;
constructor( private dataservice: DataService){}
ngOnInit(){
this.fetchData();
}
fetchData(): void{
this.dataservice.getDetailsFromDataBase()
.subscribe(datas=> this.datas = datas,
error => this.errorMessage = <any>error)
console.log(this.datas);
}
}
this is my code. I dont know if I am doing wrong in my PHP code or in my Services. I think i am not getting a JSON data from my PHP file. How can i solve this? Any help would be appreciated.