2016-08-31 5 views
0

NodeJS를 사용하여 PUT 요청을 내가 액세스 할 수있는 비공개 API로 보내고 있습니다. 컬을 사용할 때 API는 JSON을 되돌려 보내고 모든 것이 잘 작동하지만 NodeJS를 사용할 때 아무 것도 보내지 않습니다. 나는 이것에 아주 새로운이고 나는 나의 부호가 최상이 아니다는 것을 있있다, 그러나 일한다 (이 1 개의 문제 이외에). 터미널에서 PUT 요청에서 다시 가져와야하는 JSON을 표시하는 방법이 궁금합니다.PUT 요청의 응답 검색

NodeJS 서버 코드 :

app.post('/myaction', function(req, res) { 
    var data = req.body.service; 
    var data1 = req.body.serviceId; 
    console.log(data); 
    console.log(data1); 
    res.sendFile(__dirname + '/services.html'); 
    myURL = 'http://privateAPI.com/service_instance/' + data1; 
    console.log(myURL) 
request({ 
    method: 'PUT', 
    uri: myURL, 
    multipart: [{ 
     'content-type':'application/json', 
     body: data 
    }] 
    }, function(error, request, body){ 
    }) 
}); 

내가 console.log(body) 나는 API의 HTML을 얻을

. 내가 console.log(request) 일 때 JSON이 API로 전송됩니다. 내가 console.log(error) 인 경우 Null이 표시됩니다.

링크 내가 읽은하지만 도움이되지 않았다 : How to retrieve POST query parameters?
How to retrieve POST query parameters?

+0

없이

request({ method: 'PUT', uri: myURL, headers: { 'accept': 'application/json', 'content-type': 'application/json' }, multipart: [{ 'content-type':'application/json', body: data }] }, function(error, response, body){ console.log(response); }) 

는 request''에 사용자가 제공하는 콜백 내가'했습니다 무엇 –

+0

벌어지고 결정에 도움이 될 수 있습니다 둘 다 'error', 그리고'body'를 수신 console.logg'ed 그들 모두 나는 질문을 편집하고 답변을 게시 할 것입니다. – CtrlAltDelete

답변

1

사실 당신은 다중를 사용할 필요가 없습니다.

하지만 문제는 API에서 예상 한 콘텐츠 형식을 설정해야한다는 것입니다. 다중

request({ 
    method: 'PUT', 
    uri: myURL, 
    headers: { 
     'accept': 'application/json', 
     'content-type': 'application/json' 
    }, 
    body: data, 
    json: true 
    }, function(error, response, body){ 
     console.log(response); 
    }) 
+0

답장을 보내 주셔서 대단히 감사합니다! 방금이 코드를 테스트했지만 오류가 발생하지 않았지만 터미널에 아무것도 나타나지 않습니까? 어쨌든 헤더를 볼 수 있도록'console.log'에 있습니까? – CtrlAltDelete

+0

@CtrlAltDelete 내 대답을 업데이트했습니다. 당신은'응답'을 가지고 있고 헤더 등을 볼 수 있습니다. –

+0

@CtrlAltDelete 당신은 "아무것도 나오지 않는다"고했습니다. '몸 '에는 아무것도 없다는 뜻인가요? –