首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >npm request.post每次都会出现错误,但相同的帖子适用于JQuery。

npm request.post每次都会出现错误,但相同的帖子适用于JQuery。
EN

Stack Overflow用户
提问于 2017-06-06 13:07:12
回答 2查看 48关注 0票数 0

我试图从express js向api、从serverside发出一个post请求。

这是它的代码

代码语言:javascript
运行
复制
request.post({
                url: $url,
                crossDomain: true,
                data: {id : '392', sid: 'abc'}
                }, function(error, response, body){
                    console.log(response.statusCode);
                    console.log(body);
            });

这总是返回一个响应statusCode 500;

另一方面,我使用Jquery从服务器端尝试了相同的post请求。

这是它的代码。

代码语言:javascript
运行
复制
$.ajax({
    url: $url,
    crossDomain:true,
    data: {
        id : $id,
        sid: $sid
    },
    type: "POST",
    // dataType: "json",

    //on success
    success: function(response){
        //do something after something is received data
    },
    //on error
    error: function(jqXHR, exception){
        //bad request
        console.log(jqXHR.status);
        console.log(exception);
    }
});

在这两种情况下,$url和所有其他变量都是相同的。不过,我使用Jquery处理的帖子得到了正确的响应和状态代码200,与我使用npm请求模块时的响应和状态代码不同。

我哪里出问题了?

EN

Stack Overflow用户

发布于 2017-06-06 13:23:56

request$.ajax在被调用时没有相同的选项。可以使用传递的options对象中的body属性发送请求正文。此外,还有方便的布尔jsonContent-Type:application/json头添加到请求中,将请求体序列化为JSON,并将响应体自动解析为JSON。

代码语言:javascript
运行
复制
const request = require('request')

request({
  url: $url,
  method: 'POST',
  body: {id: '392', sid: 'abc'},
  json: true
}, (err, res, body) => {
  if (err) {
    // handle error
    console.log(err)
    return
  }

  // handle response
  console.log(response)      
})
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44390845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档