Я использую расширение формы JQuery для отправки формы с помощью AJAX. У меня есть следующий код:JQuery Form ajaxSubmit не отправляет
var options = {
beforeSubmit: showRequest, // pre-submit callback
success: showResponse, // post-submit callback
// other available options:
//url: url // override for form's 'action' attribute
//type: 'post', // 'get' or 'post', override for form's 'method' attribute
//dataType: null // 'xml', 'script', or 'json' (expected server response type)
clearForm: true, // clear all form fields after successful submit
//resetForm: true // reset the form after successful submit
// $.ajax options can be used here too, for example:
timeout: 3000
};
$('#composeForm').submit(function() {
// inside event callbacks 'this' is the DOM element so we first
// wrap it in a jQuery object and then invoke ajaxSubmit
$(this).find(':disabled').removeAttr('disabled');
$(this).ajaxSubmit(options);
// !!! Important !!!
// always return false to prevent standard browser submit and page navigation
return false;
});
Проблема заключается в том, что форма не представляется представит, или по крайней мере функция успеха не вызывается. Если я удаляю return false, то представление работает, но страница переходит. Есть ли проблема в моем коде, которая может быть причиной этого?
Cheers, Gazler.
EDIT | Кажется, работает над моим локальным хостом. Может ли это быть чем-то связанным с тем, что домен является дополнительным доменом?
Когда вы смотрите на информацию XMLHttpRequest с Firebug, что вы видите? – Pointy
Спасибо, я не знал об этой функции в firebug. Я получил 403 Forbidden ответ, что странно, учитывая, что если я удаляю return false, то он отлично работает. – Gazler
Скучайте от темы. Я думаю, что использование e.preventDefault() было бы лучшим выбором, чем возвращение false. – xandy