2017-05-08 50 views
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(); 
      } 
     }); 
    } 
} 
+0

想我可能有固定的我自己的問題: setCookie方法:我JSON.stringify(cvalue); CheckForCookies:I JSON.parse(value); – Codeward

+0

@ kevin-b是正確的,這是一個重複的: http://stackoverflow.com/questions/4225030/jquery-save-json-data-object-in-cookie 搜索的答案,但沒有找一個。 – Codeward

回答

0

解決的問題。 on setCookie():JSON.stringify(cvalue);關於checkForCookies():JSON.parse(value);

我可能已經回答了我自己的問題,但我認爲這可以幫助有前途,所以我只是要離開這裏這個...