Это не то, как работает AJAX.AJAX в основном асинхронный (это фактически то, что означает первое «A»), что означает, что вместо того, чтобы вызывать функцию и она возвращает значение, вы вызываете функцию и передаете обратный вызов, и этот обратный вызов будет вызываться со значением.
(См. http://en.wikipedia.org/wiki/Continuation_passing_style.)
Что вы хотите сделать после того, как узнаете, отвечает ли URL-адрес или нет? Если вы намеревались использовать этот метод следующим образом:
//do stuff
var exists = urlExists(url);
//do more stuff based on the boolean value of exists
Тогда вам нужно сделать следующее:
//do stuff
urlExists(url, function(exists){
//do more stuff based on the boolean value of exists
});
, где urlExists()
:
function urlExists(url, callback){
$.ajax({
type: 'HEAD',
url: url,
success: function(){
callback(true);
},
error: function() {
callback(false);
}
});
}