2011-05-22 42 views
5

從單個鏈接傳遞大量數據的最佳方式是什麼?是這樣的一個好主意還是有更好的方法?傳遞來自單個定位標記的大量數據

<a href="{ 'id':'1', 'foo':'bar', 'something':'else' }" id="myLnk" > Click </a> 


$('#myLnk).click(function(event){ 
    event.preventDeafult(); 
    var data = $(this).attr('href') 
    console.log($.parseJSON(response)); 

}) 

謝謝!

+0

爲了獲得最佳答案,你能否給我們更多的背景?更多地解釋這段代碼會發生什麼,我如何呈現數據以及它的用途。 – rzetterberg 2011-05-22 00:53:40

+0

@Ancide,這只是一個普遍的問題。我並沒有真的想做任何具體的事情。只是想知道最佳實踐是什麼。 – Pardoner 2011-05-22 00:58:54

+0

好的,爲什麼我想知道只是因爲在這種情況下取​​決於上下文是什麼有不同的答案。取決於上下文,哪個更好。 – rzetterberg 2011-05-22 01:02:09

回答

13

要做到這一點,最好的辦法可能是在你的錨標記使用custom data attributes

例如:

<a href="#" data-json="{ 'id':'1', 'foo':'bar', 'something':'else' }">Click</a> 

使用jQuery data()功能您可以很容易訪問從你的JavaScript這個數據。

或者,而不是在一個單一的JSON塊中的所有數據捆綁在一起,可以將其拆分爲單獨的屬性:

$("#myLnk").data("id") 
$("#myLnk").data("foo") 
$("#myLnk").data("something") 
+1

感謝Chris(和html5),這正是我一直在尋找的。 – Pardoner 2011-05-22 01:09:57

+0

克里斯,請參閱下面的註釋$ .data()...實際上,我只是自己發現了這一點。 – 2011-05-22 01:10:30

+0

有沒有辦法將數據發佈到另一個頁面?或者這純粹是爲了查看同一頁面上的數據? – danyo 2013-07-24 13:17:48

1

推薦的方法是使用HTML5 data-*屬性:

<a href="#" id="myLnk" data-id="1" data-foo="bar" data-something="else">Click</a> 
0

<a id="myLnk" 
    data-id="1" 
    data-foo="bar" 
    data-something="else"> 

這些然後可以使用jQuery這樣被檢索

要添加到克里斯的& MvChr的迴應,你也可以這樣做,雖然我討厭使用單引號的屬性:

<a href='#' data-json='{ "id":1, "foo":"bar", "something":"else" }'>Click</a> 

此語法的原因是因爲如果您正確引用它,jQuery中的$ .data將自動工作。否則,你不得不$ .parseJSON($。data(selector))信息。

相關問題