2016-10-25 3 views
2

Я расстраиваюсь, так как стараюсь изо всех сил решить эту проблему, искать документацию и искать возможный дублирующий вопрос.Как отправить запрос ajax [POST] от Angular 2 до PHP?

Я прочитал эту документацию https://angular.io/docs/ts/latest/guide/server-communication.html, но у этого нет примера публикации данных с PHP.

Что я хочу сделать, это проверить базу данных, если у нее есть транзакция, которая не была одобрена. Он работает каждые 3 секунды.

Вот что я получил

Я создал Service [get-new-data.service.ts]

import { Injectable } from '@angular/core'; 
import { Http, Response, Headers, RequestOptions } from '@angular/http'; 
import 'rxjs/Rx'; 

@Injectable() 
export class GetNewDataService { 
    constructor(private http: Http) { } 
    private url = 'app/service/getDataService.php'; 

    getData(bangko) { 
     let headers = new Headers('Content-Type', 'application/x-www-form-urlencoded'), 
      options = new RequestOptions({ headers: headers }), 
      bank = `bank=${bangko}`; 

     return this.http.post(this.url, bank, options).map(res => res.json()); 
    } 
} 

На моем app.module.ts я импортирован HttpModule - импорт и GetNewDataService - поставщиков.

На моем компоненте

import { Component, OnInit } from '@angular/core'; 
import { GetNewDataService } from '../service/get-new-data.service'; 
import { Observable } from 'rxjs/Rx'; 

@Component({ 
    templateUrl: 'app/tpl-html/mandiri.component.html' 
}) 

export class MandiriComponent implements OnInit { 
    constructor(private getDataService: GetNewDataService) { } 

    ngOnInit() { 
     setInterval(() => { 
      this.getDataService.getData('mandiri') 
       .subscribe(res => console.log(res)); 
     }, 3000) 
    } 
} 

Я не знаю, как сделать надлежащий запрос и интегрировать мою угловую 2 приложения с MySQL и PHP.

Любая помощь будет оценена по достоинству. Спасибо:/

+0

который ошибка вы получаете? – ranakrunal9

ответ

-1

Здесь мы идем ..

Html

<div ng-app="myApp"> 
<form ng-controller="FormCtrl" ng-submit="submitForm()"> 
    First name: <br/><input type="text" ng-model="form.firstname"> <br/><br/> 
    Email Address: <br/><input type="text" ng-model="form.emailaddress"> <br/><br/> 
    Description:<br/> <textarea rows="3" cols="25" ng-model="form.textareacontent"></textarea> 
     <br/> 
    <input type="radio" ng-model="form.gender" value="female" />Female ... 
    <input type="radio" ng-model="form.gender" value="male" />Male <br/> 
     <br/> 
    <input type="checkbox" ng-model="form.member" />Already a member 
     <br/> 
    <input type="submit" ngClick="Submit" > 
</form> 
<div id="getdata"></div> 
</div> 

Script

var app = angular.module('myApp', ['ngSanitize']); 
    app.controller('FormCtrl', function ($scope, $sce, $http) { 
    var formData = { 
     firstname: "default", 
     emailaddress: "default", 
     textareacontent: "default", 
     gender: "default", 
     member: false 
    }; 
    $scope.submitForm = function() { 
    $http({ 
     url: "form.php", 
     data: $scope.form, 
     method: 'POST', 
     headers : {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'} 

     }).success(function(data){ 
      console.log("OK", data); 
     }).error(function(err){"ERR", console.log(err)}) 
    }; 
    }); 

Php

$file = 'form2.txt'; 
$postdata = file_get_contents("php://input"); 
$data = json_decode($postdata, true); 
echo '<h3>Name ='.$data['firstname']."<br/>".'Email ='.$data['emailaddress']."<br/>".'Description ='.$data['textareacontent']."</h3>"; 
+0

Отличная работа Шашанка Сингха. Благодарю. Я знаю, как это сделать в угловом 1. Я ищу угловое решение. –

+0

Ok @HayleyKiara затем просмотрите [внешнюю ссылку] (https://auth0.com/blog/angular-2-series-part-3-using-http/) и [Stackoverflow] (http://stackoverflow.com/ вопросы/35212341/angular2-HTTP-пост-запрос-параметры/35212551). Это может помочь вам, я думаю, –

Смежные вопросы