Rumah >hujung hadapan web >tutorial js >通过axios发送post请求发现springMVC接收不到参数问题(详细教程)

通过axios发送post请求发现springMVC接收不到参数问题(详细教程)

亚连
亚连asal
2018-06-01 11:29:132862semak imbas

下面我就为大家分享一篇axios发送post请求springMVC接收不到参数的解决方法,具有很好的参考价值,希望对大家有所帮助。

axios发送post请求时,出现了参数后台接收不到的情况,分析了下请求,发现是请求头content-type不对,是application/json,正常应该是application/x-www-form-urlencoded。

解决方法有以下三种:

1、设置axios的默认请求头

//设置全局的
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
var instance = axios.create({}) // 这样创建出来的 只需要:
instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

2、使用URLSearchParams来构建参数

var params = new URLSearchParams();
params.append("username", _this.username);
params.append("password", _this.password);
axios.post("/service/login", paramsOfJson
   ).then(function (response) {
    console.log(response);
   }).catch(function (error) {
    console.log(error);
   })

3、后台使用@requestBody接收

@PostMapping(value = "/login")
public String testLogin(@RequestBody Map dataMap)

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

vue 过滤器filter实例详解

vue页面切换到滚动页面显示顶部的实例_vue.js

聊聊JS动画库 Velocity.js的使用

Atas ialah kandungan terperinci 通过axios发送post请求发现springMVC接收不到参数问题(详细教程). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn