0

I am trying to post data using http in angular 2,i added a http call with added api to it and when i click the button it should post data to my db,in cosole it shows error

XMLHttpRequest cannot load http://localhost/a2server/index.php/profile/addprofile. 
Request header field Content-Type is not allowed by Access-Control-  
Allow-Headers in preflight response.
 EXCEPTION: Response with status: 200 Ok for URL: null



import {Component} from '@angular/core';
import {Http, Response, Headers} from '@angular/http';
import {Observable} from 'rxjs/Observable';
 import {Subject } from 'rxjs/Subject';

  @Component({
templateUrl: './components/http/http.html'
})

export class HttpSample {


http: Http;

postResponse = new Person();


constructor(http: Http) {

    this.http = http;

}



onSubmit(){

    var headers = new Headers();
    headers.append('Content-Type', 'application/json');
     this.http.post('http://localhost/a2server/index.php/profile/addprofile', JSON.stringify({firstName:'Joe',lastName:'Smith'}),{headers:headers})
         .map((res: Response) => res.json())
         .subscribe((res:Person) => this.postResponse = res);
 }
 }class Person{
 firstName:string;
 lastName:string;
 }

and i am not posting any values from my view,just i place a button

  <div>
  <button (click)="postData()">Post Data</button>


</div>
MMR
  • 2,869
  • 13
  • 56
  • 110
  • Possible duplicate of [How to make CORS-enabled HTTP requests in Angular 2?](http://stackoverflow.com/questions/36768418/how-to-make-cors-enabled-http-requests-in-angular-2) – Maximilian Riegler Jun 22 '16 at 13:11

1 Answers1

0

Add the Access-Control-Allow-Headers flag in the server response.

Maximilian Riegler
  • 22,720
  • 4
  • 62
  • 71