axios发送post请求,如何提交表单数据?
我在vue.js中使用axios发送post请求到后台。提交的对象是vue中定义的。代码如下:
/**
*
*/
var app = new Vue({
el: "#register",
data: {
registerUrl: "/KindlePocket/bindingData"
newUserInfo: {
userName:'n',
phone:'13',
email:'12',
emailPwd:'22',
kindleEmail:'asd'
}
},
methods: {
register: function() {
axios.post(this.registerUrl, this.newUserInfo, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
}
}
})
我想提交 newUserInfo这个对象到后台,以表单形式。请问应该如何处理参数呢?
谢谢。
在node环境中可以使用Qs模块,Qs.stringify(data)来处理数据,可是如果在非node环境高中呢,如何使用Qs模块呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(15)
很简单:
另外如果是使用
之前也是用到采纳答案的方法,后来看到querystring也可以,所以来写个更简便的方法:
首先在main.js中import进来(因为是node自带的,所以不用另外安装)
然后在所需组件内部:
这样就OK了,少了很多的额外处理。
axios.post(this.registerUrl,"userName='n'& phone='13'& email='12'& emailPwd='22'& kindleEmail='asd'");
试了,这样就可以的。
上面的那个人回复的很好,如果你的 data定义的是 json的 axios 会自动识别是什么类型的 将它转换为 json字符串 后再传比较号好
写法很简单,以上太复杂了
var params = new URLSearchParams();
params.append('userName', this.newUserInfo.userName);
params.append('phone', this.newUserInfo.phone);
params.append('email', this.newUserInfo.email);
params.append('emailPwd', this.newUserInfo.emailPwd);
params.append('kindleEmail', this.newUserInfo.kindleEmail);
axios.post(this.registerUrl, params);
应该可以这样
我的项目大致代码是这样。不知道和你的情况是不是一样。我是这样处理axios的请求的。
你这个方法兼容性特别差,安卓6.0版本的都不支持的。苹果11以下的也是
写一个提交javabean对象的方法:
前端:
后端将json转换成对象:
const qs = require('qs');
var data={123:[1,2,3]};
this.$http({
楼主 你问题解决没有?
你要是看下用法就解决了。。。
https://www.npmjs.com/package...
或者
https://github.com/mzabriskie...
使用qs这个类库