2013-02-28 22 views
0

我不能fingure爲什麼這個代碼不工作:解析URL字符串成JSON不斷重新調整空對象

$(document).ready(function() { 

    $(".alertDeleteButton").click(function(e) { 

     var str = $(this).attr("href"); 
     alert(str); 

     var obj = str.split("&").reduce(function(prev, curr, i, arr) { 
      var p = curr.split("="); 
      prev[decodeURIComponent(p[0])] = decodeURIComponent(p[1]); 
      return prev; 
     }, {}); 

     alert(obj); 


     e.preventDefault(); 
    }); 

}); 

jsFiddle

所有我想要做的,就是用字符串在用戶按下鏈接時創建一個json對象。

{「userdeleteid」:「55」,「dayid」:「55」}。等...

我已經搜索並找到了3種不同的方式來做到這一點,他們都給我[對象對象]的結果。

I wanted to implement this,但它似乎只在瀏覽器中查看URL,我希望它通過(this).attr(「href」)查看鏈接的值;

+0

'警報()'輸出字符串,因此需要將對象轉換爲字符串。您應該使用Firebug的控制檯或瀏覽器的等效工具進行調試。 – 2013-02-28 16:38:44

回答

2

您應該使用JSON.stringify(),像這樣:

alert(JSON.stringify(obj)); 
+0

上帝該死的,我在文學上花了最後3個小時,拒絕在這裏提出一個問題,因爲我確信答案在我面前......所有3個版本,我得到的工作,只有得到[對象對象] WORK,我只需要你的線。感謝您保存我的理智! – Amir 2013-02-28 16:52:55

1

您可以使用JSON.stringify可作爲現代瀏覽器API的一部分,如果你正在處理舊的瀏覽器,請參閱JSON 2 (第三方支持庫)。

enter image description here