可能性の重複:
私はすべて30秒たとえば上のサーバにAJAXを経由してフォームデータを送信する必要が
Using jQuery to compare two arraysjQueryのチェックフォームデータが等しい場合
が、今私はそれになりたいですクライアント側でチェックされ、フォームに変更があった場合にのみAjaxがヒットしました。 私は
var lastData = "";
function saveFormInDB(){
var $form = $("#fb_divBl0ck1").closest('form');
var isSame = false;
data = $form.serializeArray();
if(lastData == ""){
lastData = data;
}else{
if(lastData == data){
isSame = true;
}
lastData = data;
}
if(!isSame){
jqxhr = $.post("/SPSKMEForm/FormSaveServlet", data)
.success(function() {
if(jqxhr.responseText != ""){
alert(jqxhr.responseText);
alert($("#fixedFooter"));
alert($("#fixedFooter").html());
$("#fixedFooter").text(jqxhr.responseText).css("display", "");
$("#fixedFooter").fadeOut("slow");
}
});
}
}
しかしisSame
は、この上の任意のヘルプ常にfalseであることを来ている使用していますか? データながら、文字列オブジェクトであるとして、あなたの変数lastDataが考えられるためである
私はlastDataにデータを割り当てていると思います。オブジェクトでもありますので、varもすべてのものに使用できます(私は推測します)。 – Varun
あなたのコードVarunをチェックするだけで、チェックが行われます。もし本当であれば、isSame = trueとなり、チェックの結果に関係なく常にlastDataをデータに割り当てますが、isSameは常にfalseになります。 –
+1:.serializeArray()メソッドはJSON文字列としてエンコード可能なオブジェクトのJavaScript配列を作成します。 - http://api.jquery.com/serializeArray/ –