JQuery Form 拡張機能を使用して、AJAX でフォームを送信しています。次のコードがあります。
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 を削除すると、送信は機能しますが、ページは移動します。これを引き起こしている可能性のあるコードに問題がありますか?
乾杯、ガズラー。
編集| 私のローカルホストで動作しているようです。ドメインがアドオンドメインであることと関係があるのでしょうか?