У меня есть тестовая страница, чтобы использовать Ajax для отправки http-запроса на удаление на сервер.Следующий код JS работает так, как задумано в IE7, но не работает в Firefox (если я не сделаю вызов ajax асинхронным).
В Firefox, если async не равен false, обратный вызов ошибки запускается со статусом 0.
- Может ли кто-нибудь помочь объяснить, почему это, по-видимому, работает в Firefox, если вызов является синхронным?
- В контексте этой страницы синхронный вызов не является плохой вещью,однако я прочитал, что этого следует избегать, так как это фактически заморозит окно браузера, пока ответ не вернется.Кто-нибудь может предложить альтернативное решение?
Соответствующий код приведен ниже: -
<script src="${url.context}/scripts/jquery-1.3.2.min.js"></script>
<SCRIPT LANGUAGE="JavaScript">
jQuery.noConflict();
function deleteImage(nodeParam) {
alert('hello');
var options = {
type: 'DELETE',
async: false,
url: '${url.context}/service/api/asset/delete?alf_ticket=${session.ticket}'+'&format=text'+'&'+nodeParam,
dataType: 'json',
success: function(data, textStatus) {
jQuery('#result-div').html('');
if (data['ok'] == true) {
//jQuery('#result-div').html('Delete successful using parameter - ' + nodeParam);
alert("Delete successful" );
} else {
alert( "Response 'ok' set to 'false' on success callback!" );
jQuery('#result-div').html('Delete failed!');
}
},
error: function (request, textStatus, errorThrown) {
//jQuery('#result-div').html('Delete failed!');
alert("Delete Failed");
alert(request.status);
//alert("Error callback triggered, request failed with status: " + request.status + ' ' + request.responseText);
}
};
jQuery.ajax(options);
}
// End -->
</script>
Спасибо J