2010-05-03 98 views
1

TLDR我需要在單擊鏈接(可以來自不同的頁面)後在同一頁上更改javascript變量,以便getjson請求獲取不同的數據而不必在html頁面上覆制。更改網址取決於選擇的鏈接(HTML)否asp


我正在使用一些getjson請求與Jquery,來調用填充我的網頁。 當用戶點擊「鏈接1」或「鏈接2」打開相同的頁面(比如page.html),但將獲取請求URL更改爲「鏈接1」時,我希望能夠(純HTML/javascript)或「鏈接2」。

page.html中

var url = ??;  
$.getJSON(url, function(data){} 

鏈接1

var url = host/link1 
<a href="page.html">link1</a> 

鏈接2

var url = host/link2 
<a href="page.html">link2</a> 

因此,我調用相同的頁面,但我能夠與不同的內容來填充它。 用途遠離asp。正在考慮在頁面加載後將內容插入到div中,以便可以設置url或沿着這些行設置。

Edit1我還需要在「page.html」加載後重做getjson請求,並且每秒重新運行一次。我已經用其他頁面完成了這項工作,但是在我需要根據自動生成的鏈接提取數據的情況下並沒有這樣做。

Edit2決定使用jQuery和jQuery Cookie的Cookie方法,因爲它似乎是最合理的。見線程here

任何想法,我可能會怎麼做呢?

+0

我目前正在考慮尋找jquery cookie。要保存網址?因此,如果有關於這樣做的任何想法,將非常感激。 – Sphvn 2010-05-03 02:40:59

回答

1
$('a[href=page.html]').click(function() 
{ 
    $.getJSON('host/' + $(this).text(), function(data){}); 
    return false; 
}); 
+0

沒有任何運氣。我需要它在page.html加載後填充數據。另外,我將在上面添加,我將需要它在頁面加載後每秒運行getjson請求。 – Sphvn 2010-05-03 02:35:42

+0

如果您需要重複執行此操作,則必須修改已加載頁面的DOM(可以使用iframe或彈出窗口來完成此操作),或者使用cookie(但如果連續單擊兩個不同的鏈接,該怎麼辦?)。我實際上認爲使用get參數(我意識到這需要服務器端代碼)是最乾淨的解決方案。 – 2010-05-03 03:35:54

+0

無法使用服務器端:(我意識到它會變得多容易,或者我使用cookie或者使用「page1」,「page2」,「page3」來做它,或者嘗試沿着(this )to cookie then cookievalue = var x = readCookie('cookiename') url ='http://'host + cookeivalue; – Sphvn 2010-05-03 04:00:34