当使用vue-resource发送注册的POST请求时,Fiddler捕获到了2次请求,第1次是由浏览器发送的OPTIONS预请求,第2次才是实际的POST请求……这和使用$.ajax时是不一样的,因为$.ajax会将非GET请求的Content-Type设置为application/x-www-form-urlencoded,而vue-resource发送POST请求的Content-Type为application/json;charset=UTF-8。

1.全局启用:

1
Vue.http.options.emulateJSON = true

2.局部启用

启用了emulateJSON选项后,使得POST请求的Content-Type变为application/x-www-form-urlencoded

1
2
3
4
this.$http.post(this.registerUrl, this.registerModel ,{ emulateJSON : true})
.then( (response) => {
this.msg = ‘注册成功!‘
})

3.参考资料:

参考官方文档
$.ajax和vue-resource实现OAuth
Vue.js——vue-resource全攻略

本文地址: https://lxchuan12.github.io/2016/08/12/20160812-vue-route request/