我遇到了一个问题,我认为 axios在发送查询之前查询错误的 URL。
getShows : function(){
if( ! this.query ) return false;
var getURL = this.makeUrlFromObject(this.query);
console.log('getURL', getURL);
var self = this;
axios.get(getURL).then(function(response){
console.log('response.data', response.data)
self.shows = response.data;
});
},
makeUrlFromObject : function(query){
var queryArray = [];
for (var prop in query) {
if(!query.hasOwnProperty(prop)) continue;
queryArray.push(prop + "=" + query[prop]);
}
var url = this.apiUrl + '?' + queryArray.join('&');
return url;
},
...
运行getShows
会在控制台中返回以下内容:
1. getURL /api/all?date=20180131
2. GET http://website.dev/shows/false 404 (Not Found) false:1
3. response.data (3) [{…}, {…}, {…}]
我似乎无法诊断这个 false:1
的来源。请求和响应都有效,只是这个额外的请求似乎不知从何而来。
最佳答案
我是个白痴。在 ajax 请求之后,将在页面上创建一个图像元素。
响应(未显示)恰好包含一个图像文件,该图像文件已加载到 3 个对象中的 2 个中。第三个没有图像,所以它返回为 { image : false }
。
当它被用来创建图像模板时,它返回为:
<div style="background-image:url(false)">
因此控制台返回了一个“false”的 get 请求,即 404d。
关于javascript - axios假404错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47390061/