2016-03-25 41 views
0

我使用JSON格式在兩頁之間發送一些數據。在第二頁中,我需要獲取已在URL中編碼的JSON,以便在其中添加一些數據並將其重新發送到第3頁。這是我用來使用GET發送JSON到第二頁的代碼。檢索URL中編碼的JSON

form.submit(function(e) { 
     // stop the regular form submission 
     e.preventDefault(); 

     // collect the form data 
     var data = {}; 

     data["valueDimensional"] = $('#valueDimensional').val(); 
     data["timeSlot"] = $('#timeSlot option:selected').val(); 
     data["splitOption"] = $('#splitOption option:selected').val() 

     var strJSON = JSON.stringify(data); 
     var escapedStrJSON = encodeURIComponent(strJSON); 
     var url = "/warning/app/data?par="+escapedStrJSON; 
     window.location.href = url; 

    }); 

在第二頁我想這:

 form.submit(function(e) { 
      // stop the regular form submission 
      e.preventDefault(); 

      $.getJSON(window.location.href, function(data) { 
       //data is the JSON string 
       alert(data); 
      }); 

     }); 
+0

對不起,關於offtop:你有沒有聽說過在頁面之間存儲數據的其他方法?在客戶端:cookies,localStorage或服務器端:會話變量?這可能更容易實現,調試和支持,而不是重新發明編碼在URL中的JSON輪子 – shershen

+0

我知道這些解決方案存在,起初我使用會話變量但後來我被要求使用此解決方案,因爲需要有所有關於網址 – Falangher

+0

的數據第二頁代碼沒有任何意義。忽略表單數據以及服務器如何知道爲整個頁面發送json而不是html?不清楚你想要做什麼 – charlietfl

回答

0

getJSON用一個URL發出HTTP請求到它。

它不通過URL進行搜索,試圖找到看起來像直接編碼JSON的內容。

您需要:

  1. parse the query string閱讀的par
  2. 值通過JSON.parse傳遞的結果。
0

使用JSON.parse(window.location.href)在第二頁的代碼代替:

$.getJSON(window.location.href, function(data) { 
+0

這也有很多幫助,但我也需要閱讀參數值:D非常感謝你! – Falangher