2017-09-27 3 views
-1

4 번 각도에서 JSON을 데이터로 게시하려면 어떻게해야합니까?JSON을 데이터로 Angular 형식으로 게시 할 수 있습니까?

현재 내 게시물 코드는 다음과 같습니다

let options = { 
    headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded) 
}; 

let urlSearchParams = new URLSearchParams(); 

urlSearchParams.append('key', 'value'); 

let bodyString = urlSearchParams.toString(); 

return this.http.post(api, bodyString, options); 

당신은 내가 post 전에 application/x-www-form-urlencodedURLSearchParams를 사용하고 볼 수 있듯이. (작동 중)

그냥 JSON을 사용하는 방법이 있다고 생각합니다. (예 : this.http.post(api, MY_JSON))

나는 행운을 얻지 만 new HttpHeaders().set('Content-Type', 'application/json')을 사용해 보았습니다. 아래

내가 원하는 것입니다 :
let options = { 
    headers: new HttpHeaders().set('Content-Type', 'application/json) 
}; 

return this.http.post(api, MY_JSON, options); 

내가 제대로 게시 위의 모든하지만 서버에서 어떤 반응처럼 게시 할 경우

.

백엔드를 확인해야합니까?

+0

URL 검색 매개 변수는 검색어 문자열입니다 (예 : URL에'? key = value', *. 요청의 본문 인 * payload *는 정확히 무엇이되어야합니까? 배열과 객체를 전달하여 직렬화 할 수 있습니다. – jonrsharpe

+0

json content-type 헤더를 사용하는 경우 json 객체를 .post()의 두 번째 매개 변수로 전달할 수 있습니다. – LLai

+0

@jonrsharpe 추가 설명을 추가했습니다. URLSearchParams는 쿼리 문자열을위한 것입니다. 그러나, 나를 위해 지금까지 각도에 게시하는 유일한 방법 것 같습니다. '아래에 내가 원하는 것'코드에 문제가없는 경우 백엔드를 확인해야합니까? –

답변

0

백엔드 구성입니다.

symfony3 (PHP)에서 json_decode()를 실행하여 프론트 엔드에서 json을 가져 오기만하면됩니다.