获取:POST json数据

获取:POST json数据

我试图发布一个JSON对象去取.

根据我所能理解的,我需要在请求的主体上附加一个字符串对象,例如:

fetch("/echo/json/",{
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
    method: "POST",
    body: JSON.stringify({a: 1, b: 2})}).then(function(res){ console.log(res) }).catch(function(res){ console.log(res) })

使用时jsfiddle‘s json回声我希望看到我发送的对象({a: 1, b: 2})返回,但这并没有发生-ChromeDevTools甚至没有将JSON显示为请求的一部分,这意味着它没有被发送。


PIPIONE
浏览 331回答 3
3回答

慕桂英4014372

在搜索引擎中,我最后讨论了非json使用FETCH发布数据的主题,所以我想添加以下内容。为非JSON您不必使用表单数据。您可以简单地设置Content-Type头到application/x-www-form-urlencoded并使用字符串:fetch('url here', {     method: 'POST',     headers: {'Content-Type':'application/x-www-form-urlencoded'}, // this line is important, if this content-type is not set it wont work     body: 'foo=bar&blah=1'});另一种方法body字符串,而不是像我上面所做的那样键入它,是使用库。例如,stringify功能来自query-string或qs包裹。因此,如果使用这个,它看起来就像:import queryString from 'query-string';fetch('url here', {     method: 'POST',     headers: {'Content-Type':'application/x-www-form-urlencoded'}, // this line is important, if this content-type is not set it wont work     body: queryString.stringify({for:'bar', blah:1}});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript