jquery検証を使用した非常に複雑な投稿と、サーバーから返されたJSON応答を取得してjqGridに入れるAJAX投稿があります...しかし、私の成功は決して呼び出されないようです...
$(document).ready(function () {
$("#formSearchByMRN").validate({
rules: {
MRN: { required: true, minLength: 6 }
},
messages: {
MRN: 'Please Enter a Valid MRN'
},
submmitHandler: function (form) {
e.preventDefault();
animateLoad();
debugger;
var theURL = form.action;
var type = form.methd;
var data = $(this).serialize();
$.ajax({
url: theURL,
type: type,
data: data,
dataType: "json",
success: function (result) {
debugger;
var data = result;
if (data.split(':')[0] == "Empty record") {
$("#list").unblock();
$('#resultDiv').html('<b><p style="color: #ff00ff">' + data + '</p></b>');
setTimeout(function () {
$('#resultDiv').html("");
}, 10000);
}
else {
binddata(data);
}
}
});
return false;
}
});
});
私は決してsubmmitHandlerに入らないようです。サーバー側の関数に到達できたにもかかわらず、イベントが返されますが、JSON の結果を含むファイルを保存するように UI に指示します...ダメです。
AJAX が間違った方法で投稿する前に、フォームを検証しようとしていますか? AJAX の投稿を検証する際のベスト プラクティスについて何かアドバイスはありますか?
更新... MARK R.これは私が試みたものです。私は成功関数に入ることはないようです...私の疑いは、私が本当にajaxを介して投稿しているのではなく、完全な投稿をしていることです。理由がわかりません。
$('#submitMRN').click(function () {
$("#formSearchByMRN").validate({
rules: {
MRN: { required: true, minLength: 6 }
},
messages: {
MRN: 'Please Enter a Valid MRN'
}
});
if ($('#submitMRN').valid()) {
$("#list").block({ message: '<img src="../../Images/ajax-loader.gif" />' });
$.ajax({
url: $('#submitMRN').action,
type: $('#submitMRN').method,
data: $('#submitMRN').serialize(),
dataType: "json",
success: function (result) {
debugger;
var data = result;
if (data.split(':')[0] == "Empty record") {
$("#list").unblock();
$('#resultDiv').html('<b><p style="color: #ff00ff">' + data + '</p></b>');
setTimeout(function () {
$('#resultDiv').html("");
}, 10000);
}
else {
binddata(data);
}
}
});
}
});