Vue:使用axios发送post请求,后台springmvc无法正常获取数据的解决方法

在Vue框架中,使用axios提交数据

问题

前端js代码如下:

import Vue from 'vue'
import axios from 'axios';
export const getAddUser = params=>{
    return axios.get('user/addSave',{params:params});
}

后台java代码如下:

	@RequestMapping(value = "/addSave", method = RequestMethod.POST)
	@ResponseBody
	public ResultMsg addSave(HttpServletResponse response, @RequestParam HashMap<String, String> map) {
		String estr = "添加账号信息(addSave)===:";
		try {
			logger.debug("map:" + map.toString());
		} catch (Exception e) {
			logger.error(estr + e.toString());
			return null;
		}
	}

运行后,控制台输出map:{},无法获取到参数数据。

解决方案

引用qs.js,将参数重新封装格式化后再传入。

修改后的代码如下

import Vue from 'vue'
import axios from 'axios';
var qs = require('qs');  
export const getAddUser = params=>{
    let pm=qs.stringify(params);//使用qs格式化
    return axios.post(`user/addSave`,pm)
}

运行后,后台可以正常获取到参数值了。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章