node.js - 请求 promise - 使用端口向服务器发送错误的请求

标签 node.js request-promise

我尝试使用promise-request并编写代码:

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 中设置了端口。我遇到错误,无法从服务器获取数据。我只得到错误:

undefined:1
<!DOCTYPE html>
^

SyntaxError: Unexpected token < in JSON at position 0

我使用 http 模块执行相同的请求,一切正常,也许我需要使用另一个模块?

最佳答案

使用axiosrequest而不是 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) {

})

关于node.js - 请求 promise - 使用端口向服务器发送错误的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43843480/

相关文章:

node.js - 重命名 Mongoose 中的字段

node.js - 添加或更新在spurCommerce中不起作用的产品

javascript - 如何从同一个类中的另一个函数调用函数

node.js - 如何从 cookie jar 中记录 cookie?

javascript - 检查所有请求是否已完成

javascript - 如何在nodejs中删除请求头中的单引号

javascript - RequestJS实际上是如何处理它的回调的?

javascript - 使用 Function.prototype.bind.apply(Obj, args) 将参数传递给对象,仅传递第一个元素

javascript - 可以打印出一个对象,但无法在JS中访问它的值

node.js - 使用 request-promise-native : unable to parse response 实现 Dialogflow