vue中使用axios请求,后台取不到值

藏不戈 2017-05-12 03:22:20
var url="/hotelmanager/test1/go";
var params ={ 'id':'888'}
var headers= {'Content-Type' : 'application/x-www-form-urlencoded'};

axios.post(url, params)
.then(function (res) {
alert(res)
})
.catch(function (err) {
alert(err)
});

就算把hearders加上也一样取不到值?
望有经历解决过这个问题的前辈给点提示
...全文
2899 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wcwtitxu 2018-05-15
  • 打赏
  • 举报
回复
function serialize(o) {
	o = o || {};
	var r = [];
	for (var p in o) {
		r.push(encodeURIComponent(p) + "=" + encodeURIComponent(o[p]));
	}
	return r.join("&");
};
axios.post(url, serialize(params), {headers:headers})
yjsl__ 2018-05-15
  • 打赏
  • 举报
回复
application/x-www-form-urlencoded要用key-value形式上传
斜斟星雨 2018-05-11
  • 打赏
  • 举报
回复
axios的默认序列化设置是Content-Type' : 'application/json‘’],你还是改回这种原始的吧,后台接收不到是因这种方式传过去的数据不是key=val&key=val这种格式,而是无法识别的json对象,所以你需要一个node的处理数据的方法,用querystring.stringify来处理,入门文件main.js里面对axios配置一下即可: import querystring from 'querystring' import axios from "axios" var http = axios.create({ transformRequest: [function (data) { return querystring.stringify(data) }], });
ooo-ooo 2018-05-09
  • 打赏
  • 举报
回复
后台用@RequestBody注解接收
stalkerru 2017-05-13
  • 打赏
  • 举报
回复
在ff的firebug或者chrome的控制台里都可以监控ajax请求 看下是后端没有输出正确的值还是前端没有收到后端输出的值
吃饭睡觉追剧 2017-05-12
  • 打赏
  • 举报
回复
在main.js中,配置一下两行(安装npm i axios -D) import axios from 'axios'; Vue.prototype.$ajax = axios; 在需要请求数据的组件中 beforeMount() { this.$ajax(`http://route.showapi.com/213-4?showapi_appid=35530&topid=26&showapi_sign=0e82d665e72047d89be96225dbcb5fdb`).then(function(data) { console.log(data.data.showapi_res_body.pagebean.songlist); // if(data.body.showapi_res_body.pagebean.songlist) { // console.log(data.body.showapi_res_body.pagebean.songlist); // }else { // console.log("网络错误"); // } },function(){ console.log(err); }); }, 这是我的接口,不知道你的可不可以

87,917

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧