【发布时间】:2020-04-18 04:27:27
【问题描述】:
我有一个运行 ajax 调用的函数,使用以下代码查看文件是否存在
function doesItExist(filenamePath) {
return jQuery.ajax({
url: filenamePath,
type:'HEAD'
});
}
当我尝试在 console.log 中使用
console.log(doesItExist(some path));
我得到以下信息:
{readyState: 1, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}
readyState: 4
getResponseHeader: ƒ (a)
getAllResponseHeaders: ƒ ()
setRequestHeader: ƒ (a,b)
overrideMimeType: ƒ (a)
statusCode: ƒ (a)
abort: ƒ (a)
state: ƒ ()
always: ƒ ()
then: ƒ ()
promise: ƒ (a)
pipe: ƒ ()
done: ƒ ()
fail: ƒ ()
progress: ƒ ()
complete: ƒ ()
success: ƒ ()
error: ƒ ()
responseText: ""
status: 404
statusText: "Not Found"
__proto__: Object
似乎我只能访问顶部 { } 中的内容,我无法访问“readyState:4”及以下的任何内容。我该怎么做,特别是“状态:404”?
谢谢。
旁注:即使找到文件,它也会提供类似的响应,除了“状态:200”。
请帮忙?
【问题讨论】:
-
我刚刚删除了让您非常恼火的评论。请注意,Stack Overflow 中的 cmets 并非旨在提供答案;它们可以而且应该用于提供提示或要求澄清。
-
@ÁlvaroGonzález 并不是因为它让我如此恼火。当我开始回复你时,我感谢你的评论。我只是希望得到帮助,而不是您分享的内容。我会尽快在回复中发布当前对我有用的答案。
-
恐怕这只是一个误会,可能是由于我的解释不善。在您的回答中,您解释说您需要定义回调函数,这正是我想说的。没关系,我很高兴你把它修好了。
-
没问题。现在我在让函数在 jQuery 通过 FOR 循环之前等待时遇到问题。 jQuery.when() 我认为就是这样。不知道我哪里出错了。
-
我想我通过使用 jQuery.each 而不是 For 循环解决了这个问题。
标签: javascript jquery ajax console