0
我有我通過ajax POST提交的表單,它在原始提交中顯示爲Array(74)[Object,Object,Object,...],但如果用戶失去連接,我將此信息存儲在Cookie中以在頁面加載時重新運行(連接重新建立)。然而,當我在重新連接/加載後進行處理時,cookie決定將數據存儲爲[對象對象],[對象對象],[對象對象],對象對象。在POST上的JavaScript - SerializeArray
有人可以解釋這裏發生了什麼,並幫助我糾正?
乾杯
實施例:
function submitOrder() {
var postData = $('#form_name').serializeArray();
var cookieName = "cookieName_" + $('#the_id').val();
if(isonline()) {
$.ajax({
url: 'process_order.php',
type: 'POST',
data: postData,
success: function() {
signatureSave(0);
window.location = "index_2.php";
alert("Work Order Submitted!");
},
failure: function() {
signatureSave(0);
setCookie(cookieName, postData);
window.location = "index_2.php";
alert("Work Order Pending - Please check connection!");
},
error: function() {
signatureSave(0);
setCookie(cookieName, postData);
window.location = "index_2.php";
alert("Work Order Pending - Please check connection!");
}
});
}}
function setCookie(cname, cvalue) {
var d = new Date();
d.setTime(d.getTime() + (365*24*60*60*1000));
var expires = "expires=" + d.toUTCString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function checkForCookies() {
if (getCookie("cookieName_").toString() != "") {
var cookie = getCookie("cookieName_");
var key = cookie.substring(0, cookie.indexOf("="));
var value = cookie.substring(cookie.indexOf("=") + 1);
console.log(value);
$.ajax({
url: 'process_order.php',
type: 'POST',
data: value,
success: function() {
alert("Pending order submitted...");
deleteCookie(key);
checkForCookies();
}
});
}
}
想我可能有固定的我自己的問題: setCookie方法:我JSON.stringify(cvalue); CheckForCookies:I JSON.parse(value); – Codeward
@ kevin-b是正確的,這是一個重複的: http://stackoverflow.com/questions/4225030/jquery-save-json-data-object-in-cookie 搜索的答案,但沒有找一個。 – Codeward