2014-06-26 114 views
2

我發送一個對象在URL中導航從一個HTML到另一個。但在檢索我無法獲得對象。 我發送ajax請求如何通過url傳遞對象?

//數據是一個對象。當我發送的數據是對象時,它不會檢索對象,但是當我發送字符串時,它會插入特殊字符。

var param1var = getQueryVariable("data"); 

function getQueryVariable(variable) { 
    var query = window.location.search.substring(1); 
    var vars = query.split("&"); 
    for (var i=0;i<vars.length;i++) { 
     var pair = vars[i].split("="); 
     if (pair[0] == variable) { 
      return pair[1]; 
     } 
    } 
    alert('Query Variable ' + variable + ' not found'); 
} 

你可以建議我怎樣在移動到另一個頁面時發送數據。 一種方法是將數據存儲在會話或本地存儲中。但我不想這樣做。我有沒有其他解決方案而不是會話或本地存儲?

+0

在將數據用作查詢字符串參數之前,您需要序列化數據。 –

+0

爲什麼你不想使用本地存儲?它[得到廣泛支持](http://caniuse.com/#search=localstorage),以及在頁面之間保持數據的最簡單方法。否則,您可以回退到少量字符串數據的Cookie,或者使用服務器端的東西。 –

回答

1

嘗試:

var query = decodeURIComponent(window.location.search.substring(1)); 

不會返回特殊字符。

+0

所以我會發送一個字符串或對象 – Shruti

+0

它會返回一個字符串 – Gyani