Click here to Skip to main content
15,887,350 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I am using angular 4 , php mysql.

i am sending a post to php mysql from angular.

i want to get the response of the php json as you see in the code below , to the angular , to know , whether the data has been submitted or not .

My Angular Script 

import { Injectable } from '@angular/core';  
import { Http,  Response ,RequestOptions,Headers} from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map'

@Injectable()
export class appService {  
     
    postResponse:any ;
    status;
    constructor(private http:Http) { }
 
   insertData() {
    let headers = new Headers({ 'Content-Type': 'application/json' });
    let options = new RequestOptions({ headers: headers });
    return this.http.post('http://localhost:80/angularsql/sql.php',JSON.stringify({firstName:'Joe',lastName:'Smith333'}),{headers:headers})
    .map((res: Response) => res.json())
    .subscribe((res:'') => this.postResponse = res);
   }
}

My php Script :

<?php 
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
$data = json_decode( file_get_contents('php://input'),true );
  $fname =  $data['firstName'];
  $lname =  $data['lastName'];
 
$con = new mysqli('localhost','root','','angular');
if($fname=='anan' && $lname=='kassis') {
$sql = "insert into users_tbl(firstName,lastName) values('".$fname."','".$lname."')";
$result = $con->query($sql);
	$data = [ "status" => "details inserted" ];
echo json_encode($data);
}
else {
	$data = [ "status" => "didn't insert details" ];
echo json_encode($data);
}
?>


What I have tried:

i have tried everything , i am not able to get back the json from the php to the angular
Posted

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900