Javascript 邮递员表单数据起作用,但原始等价物不起作用
我有一个我正在测试的API,如果我通过具有以下值的表单数据提交数据,它就会工作:Javascript 邮递员表单数据起作用,但原始等价物不起作用,javascript,angularjs,api,postman,Javascript,Angularjs,Api,Postman,我有一个我正在测试的API,如果我通过具有以下值的表单数据提交数据,它就会工作: key: response[comment] value: This is a test 但是,如果我在原始选项卡中使用以下结构执行一些自定义JSON,它将不起作用: { "response[comment]": "This is a test" } 老实说,这让我发疯了,因为服务器没有给我任何关于问题的细节。 我感觉是对象的编码出错了,但是我使用Angular,我得到了相同的400错误,同时我相当确定它应该只
key: response[comment]
value: This is a test
但是,如果我在原始选项卡中使用以下结构执行一些自定义JSON,它将不起作用:
{ "response[comment]": "This is a test" }
老实说,这让我发疯了,因为服务器没有给我任何关于问题的细节。
我感觉是对象的编码出错了,但是我使用Angular,我得到了相同的400错误,同时我相当确定它应该只使用JS对象作为.post上的数据
任何帮助都将不胜感激 好的,我找到了
显然,评论[回应]实际上是:
{"comment":{"response": "something"}}
在JSON中
学到了一些东西:确保您的内容类型标题
如果原始数据是JSON:Content-Type:application/JSON
我遇到了与您类似的问题:我的请求正在使用表单数据,但不是原始数据。。。在调试请求服务器端之后,我意识到我的请求内容类型是text/plain;字符集=UTF-8。。即使在侧面下拉列表中选择了JSON
希望它能为下一次节省时间 在我的例子中,一个表单数据条目被转换为一个标题,并且根本不包含在正文中。它还可以显式地设置标题,而不是输入表单数据。其他答案中的内容类型和JSON格式没有涉及。我不希望任意表单数据键以这种方式工作;本例中使用的唯一键是ID。我也有一个API,如果我通过表单数据提交数据,并且具有以下值,则它会起作用:
key: response[comment]
value: This is a test
关键词:调查答案[答案]
值:{2456-9876-4ff7-9807-4097ed21be57:今天从邮递员处进行测试}
我试着把它转换成原始数据,所以最后我可以通过
{调查{回答{回答}json:{2ed4e729-c1fa-4ff7-9807-4097ed21be57:来自tessa的测试}}
如果您的原始数据是JSON:set Content Type:application/JSON
希望这有帮助:使用JSONapplication/json选择raw选项 在我的例子中,url是localhost/index.php?userId=1,我使用的是原始模式,{username:abc}
然后,我将url转换为localhost/index.php?userId=1&username=abc-它使用以下json为GET和for POST工作:{userId:1,username:abc}和url localhost/index.php?userId=1&username=abc。您知道json和www表单urlencoded实际上是不同的格式吗?我怀疑有没有办法强迫服务器从客户端解析JSON编码的有效负载。是的,我没有使用x-www-form-urlencoded,而是在Postman中使用表单数据,即JSON;-这就是我如此困惑的原因。一定有一个头球掉了什么的。