2017-05-08 7 views
1

와 서버에 대한 잘못된 POST 요청 : 포트 옵션을 사용하지 않는 경우요청 pormise - 나는 <em>약속 요청</em>를 사용하여 코드를 작성하려고 포트

var pr = require('promise-request'); 

var options = { 
    method: 'POST', 
    uri: 'http://localhost:4000/user/login', 
    port: 4000, 
    form: { 
    login: 'login', 
    password: 'password' 
    }, 
    json: true 
}; 
pr(options) 
    .then(function(res) { 
    console.log(res); 
    }) 
    .catch(function(err) { 
    console.log(err); 
    }); 

을 내가 가지고 오류 :

Error: connect ECONNREFUSED 127.0.0.1:80 

포트 옵션 오류가 사라지지만 공식 문서에서는이 옵션을 설정할 수 있다고 쓰지 않습니다. 그리고 내가 항구를 설정했기 때문에 그것이 작동한다는 것은 스트레스입니다 uri. 서버에서 데이터를 가져올 수 없다는 오류가 있습니다. 내가 HTTP 모듈과 동일한 요청을하고 모든 좋은 어쩌면 내가 다른 모듈을 사용할 필요가 작동

undefined:1 
<!DOCTYPE html> 
^ 

SyntaxError: Unexpected token < in JSON at position 0 

: 난 단지 오류가 발생했습니다?

+0

는 당신에게 당신이에 서버를 작업 한 확실 127.0.0.1:80, 귀하가 요청한 주소는 무엇입니까? 80 포트에서 서버를 실행하려면 sudo 권한이 있어야합니다. 두 번째 오류 메시지의 경우 (디버깅 목적으로 만)'json : true'을 제거하고 정확한 오류를 확인해야합니다. – styopdev

+0

localhost : 4000에서 서버를 실행하고 포트 80을 사용하지 않습니다. –

답변

0

사용 axios 또는 request 대신 promise-request

코드는 다음과 같이 표시됩니다

1.

axios.post('/user/login', { 
    login: 'login', 
    password: 'password' 
}) 
.then(function(response) { 
    console.log(response); 
}) 
.catch(function(error) { 
    console.log(error); 
}); 

2.

request.post({ 
    url: '/user/login', 
    form: { 
    login: 'login', 
    password: 'password' 
    } 
}, function(err, httpResponse, body) { 

})