我有这个代码可以完美地测试指定的URL是否有效
$.ajax({
url:'test.pdf',
type:'HEAD',
error: function()
{
console.log("Doesn't exist");
},
success: function()
{
console.log("exists");
}
});
当我尝试通过执行此操作将其转换为函数时,我的问题就出现了
function URLExists(URL) {
var exists = false;
$.ajax({
url:URL,
type:'HEAD',
error: function()
{
console.log('false');
exists = false;
},
success: function()
{
console.log('true');
exists = true;
}
});
console.log('returning ' + exists);
return exists;
}
我不能在return true
和return false
内执行error:
和success:
,因为它只会在该函数中返回,而不是URLExists()
功能。我在Google上搜索时看到的所有答案都是返回嵌套函数,但我似乎无法在此处执行此操作。当我尝试在上面发布的更改变量时,URLExists()
在变量更改之前返回(之前至少一整秒)。我敢肯定有一些相当简单的方法可以做到这一点,这对我来说并不熟悉。