详解使用fetch发送post请求时的参数处理

详解使用fetch发送post请求时的参数处理

不考虑古董浏览器之后,使用fetch来发送ajax请求,变得非常爽快和时尚。

但是,发送post请求的时候,把笔者卡了一下。后台如下获取参数时,总是为null

String q = req.getParameter("q");

研究了好久,总算写出正确的使用方式了。直接上代码。

fetch("/search/project/", {
  method: "POST",
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  },
  body: "q=参数q"
}).then(function(response) {
  // do sth
});

关键点在于headers,因为默认Content-Type不是application/x-www-form-urlencoded,所以导致后台无法正确获取到q的值。

body的写法也是一个重点,注意。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!