我在使用vue-resource的vue.http.jsonp时发现请求参数需要用params包装起来,官方并没有任何说明,这就已经够坑了。。但是下面更坑
this.$http.jsonp('http://XXX.XXX.XXX.5/api/v1/stock/list', {
params: {
account:'8888',
data:'{"page":2,"rows":10,"timestamp":'+t+'}'
},
jsonp:"_callback"
}).then(function(data){
console.log(12323);
console.log(data);
},function(err){
console.log(123123);
console.log(err);
});
浏览器报json格式错误
但是请求却已经成功了
响应数据在请求内都已有,但是浏览器却报错,这种情况在jquery上并没有发生,jquery jsonp跨域处理后状态码200,并没有浏览器的json格式报错,请问是否有人遇到过这种情况呢?如何解决
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
我的用法,仅供参考
传递的是JSON,或者JSON对象就行啊。你params里面的属性不需要加“”,么。写个简单的JSON看看还会不会报错。
我想可能和
Content-Type有关系吧,vue-resource默认是application/json你写个这行代码 全局配置试试
Vue.http.options.emulateJSON = true;使http请求格式便成为
application/x-www-form-urlencoded作者已经在微博上宣布不再将vue-resource作为官方推荐的插件了
所以建议使用ES5的fetch来代替