2013-02-18 3 views
0

При использовании Jquery или Ajax для вызова страницу или скрипт, который загружает в DIV, или, например,Jquery или Ajax, если загрузка не удалась

$.post('pagename.php', $(#cpay'.$id.'").serialize(), function(data) { $('#conSupp".$id."').html(data); 

есть способ, чтобы отобразить сообщение об ошибке в DIV если страница не загружается

Большое спасибо

ответ

3

Если вы используете JQuery 1.5 или выше, пост будет возвращать объект jqXhr. Если да, то вы могли бы сделать что-то вроде этого:

$.post('pagename.php', data, function(data) { 
    //success, do stuff with the data object 
}).fail(function(jqXhr, ajaxOptions, thrownError){ 
    //something went wrong 
    alert('Error: ' + thrownError); 
}); 
+0

ошибка устарела (1,8 года) использовать сбой – Josnidhin

+0

@josnidhin Спасибо, обновлено – Johan

1

Да, связать обработчик ошибок, путем вызова .fail() функции на jqXhr объекта, возвращаемого вызовом $.post():

$.post(url, data, function(data) { 
    ... 
}).fail(function(jqXhr, textStatus, errorThrown) { 
    // an error occurred - do something here 
}); 
1

Я предпочитаю просто делать:

$.ajax({ 
    type: 'POST', 
    url : 'pagename.php', 
    data: $(#cpay'.$id.').serialize() 
}).done(function(data { 
    $('#conSupp".$id."').html(data); 
}).fail(function() { 
    $('#conSupp".$id."').html('An error occured'); 
}); 

это немного больше, но я считаю, что гораздо легче читать изменения в то, что мне нужно, и это именно то, что $ .post делает внутренне во всяком случае, так меня спасает вызов функции?

Смежные вопросы