2017-05-16 1 views
1

Angular2에서 HTTP 게시 요청을 보내려고하지만 컨텐트 유형 응용 프로그램 JSON에 헤더를 설정할 수 없습니다.angular2의 application/json에 헤더를 설정하는 방법

내 코드입니다 : 내가 네트워크에서이 옵션을 선택하면

login(url,postdata) 
{ 
    var headers = new Headers({'Content-Type': 'application/json'}); 
    return this._http.post(url,JSON.stringify(postdata),this.headers) 
    .map(res => res.json())  
} 

i는 콘텐츠 형식은 텍스트/일반 따라서 서버가 수신되지 않은 데이터로 설정되어있는 것을 발견했다. 제안 사항을 보내 주시면 감사하겠습니다.

+0

채팅에 참여 몇 가지 비슷한 문제가 있었다 .... – DaAmidza

+0

HTTP : 당신은 HTTP 헤더를 지정하지 않으면 때문에 기본 요청은 콘텐츠 유형 텍스트 /에 일반, 당신은 HTTP 헤더를 수정하는 방법 그대로 전송됩니다 : //chat.stackoverflow.com/rooms/144381/angular-2 – DaAmidza

답변

2

과 같은 코드를 사용한다 : 각 @ 각 2 Angular Http Guide를 참조하는

private _getHeaders():Headers { 
    let header = new Headers({ 
    'Content-Type': 'application/json' 
    }); 

    return header; 
} 



public login(url, postdata){ 
    let options = new RequestOptions({ 
     headers: this._getHeaders() 
    }); 
    return this.http.post(url, JSON.stringify(postdata),options).map(res => res.json()); 
} 
+0

헤더를 여전히 설정할 수 없습니다. 실제로 서버 페이로드 요청을 보내면 send.I가 표시되지 않습니다. application/json 대신 network 및 text/plain에서 content-type을 확인했습니다. 수락 : application/json, text/plain, */* 수락 인코딩 : gzip, 수축, br 수락 언어 : ko-kr, ko-k = 0.8 연결 : keep-alive 콘텐츠 길이 : 35 콘텐츠 유형 : 텍스트/일반 – palak

3

변화 _http.post 매개 변수 :

login(url,postdata) { 
    var headers = new Headers({'Content-Type': 'application/json'}); 
    return this._http.post(url,postdata,{headers:headers}) 
       .map(res => res.json())  
} 
+0

이것은 나를 위해 작동하지 않습니다. 감사합니다. – palak

2

이 코드를 사용해보십시오이

let headers = new Headers(); 
headers.append('Content-Type', 'application/json'); 

let options = new RequestOptions({ headers: headers }); 
return this.http.post(url, JSON.stringify(postdata), options).map(res => res.json()); 
2

를/HTTP는있다 deprecated, @ angular/common/http는 Angular 2에서 사용하고있는 것이어야합니다. 앱.

import { HttpClient, HttpHeaders } from '@angular/common/http'; 
..... 
const req = this.http.post('/api/PostRequest/', 
          JSON.stringify(object), 
          { 
          headers:new HttpHeaders() 
          .set('Content-Type','application/json') 
          }).subscribe(); 
관련 문제