首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fetch POST未正确读取从react本机发送的请求

fetch POST未正确读取从react本机发送的请求
EN

Stack Overflow用户
提问于 2018-04-20 17:19:03
回答 1查看 318关注 0票数 0

我不确定这里的实际问题是什么,可能是API,在react原生上的fetch实现,或者我的格式化。

我尝试了许多不同的格式,甚至将请求硬编码到我的应用程序中,但我请求的服务器应用程序接口仍然返回Error 400: Bad Request和一个名为unsupported_grant_type的JSON文件。下面是我发送的代码片段:

代码语言:javascript
复制
var options = {
  "method": "POST",
  "headers": {
    "Content-Type": "application/x-www-form-urlencoded",
     "Authorization": "Basic TWVtYmVyQ2VudGVyTGFuZGluZzp0ZXN0cGFzcw==",
   },
   "data": {
     "grant_type": "password",
     "username": "MemberCenterLanding",
     "password": "testpass"
   }
}

然后,我根据API文档使用带有staging url http://10.64.2.149:8081/oauth/tokenfetch(url, options).then(response => { return response.json()...发送了这段代码。

我用postman尝试了这个请求,它起作用了,只是不是在我的程序中:(我也试着用JSON.stringify()FormData改变正文的格式,但都不起作用。

ADD:我还尝试使用node-fetch创建要在node.js上运行的小型请求文件,但仍然无法工作,并产生了相同的结果。有趣的是,node-request运行得很好。

有谁能帮我缩小问题的范围吗?react native的fetch()实现有没有做过任何修改,也许这与API的实现方式有关?

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2018-04-20 17:25:08

使用body而不是data。并使用JSON.stringify将JSON值转换为JavaScript字符串。

代码语言:javascript
复制
var options = {
  "method": "POST",
  "headers": {
    "Content-Type": "application/x-www-form-urlencoded",
     "Authorization": "Basic TWVtYmVyQ2VudGVyTGFuZGluZzp0ZXN0cGFzcw==",
   },
   "body": JSON.stringify ({
     "grant_type": "password",
     "username": "MemberCenterLanding",
     "password": "testpass"
   }),
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49938236

复制
相关文章

相似问题

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