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)
}

運行後,後臺可以正常獲取到參數值了。

 

 

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