首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSON和Node.js请求中的数据有什么区别?

JSON和Node.js请求中的数据有什么区别?
EN

Stack Overflow用户
提问于 2019-10-11 19:13:07
回答 2查看 520关注 0票数 1

我想知道jsondata在node HTTP请求中的区别

代码语言:javascript
运行
复制
var http = require('http');

let api = {
    url: "https://someurl/api/ticket/create",
    method: "POST",
    headers:
    {        
        "cache-control": "no-cache",
        "Content-Type": "application/json",
        "Accept": "application/json"
    },
    data:{

    }
}

let apiTwo = {
    url: "https://someurl/api/ticket/create",
    method: "POST",
    headers:
    {        
        "cache-control": "no-cache",
        "Content-Type": "application/json",
        "Accept": "application/json"
    },
    json:{

    }
}


http.request(api,function(err,resp,body){ // 400 for api and 200 for apiTwo 

    if(err){
        console.log(err);
    }
    else{
        console.log(resp);
        console.log(body);
    }
})

当我在请求中使用data作为键来点击上面的接口时,我得到了400。当我使用json作为请求中的键时,我得到的是200

简而言之,我的问题是这个jsondata是在服务器上配置的吗?它们之间的区别是什么?在什么情况下,哪一个是首选的?

EN

Stack Overflow用户

发布于 2019-10-11 19:25:55

当我们发出post请求时,主体应该是字符串格式。在您的第一个api请求中,主体是一个对象,而不是字符串,这就是为什么您会得到400

尝试下面传递数据,这里我使用json.strinfify对对象进行字符串化

代码语言:javascript
运行
复制
let api = {
    url: "https://someurl/api/ticket/create",
    method: "POST",
    headers:
    {        
        "cache-control": "no-cache",
        "Content-Type": "application/json",
        "Accept": "application/json"
    },
    data:JSON.stringfy({})
}

在第二个API调用中,请求中没有主体,因此服务器会将主体视为null,因此它接受请求。你会因为这个得到200分,但不是因为JSON

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

https://stackoverflow.com/questions/58340069

复制
相关文章

相似问题

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