2012-02-02 82 views
0

我正在閱讀使用php的rss訂閱源並從相同的HTML DOM創建。現在我有一堆<li>的新聞提要。當用戶點擊一個特定<li>我想發佈某些數據到另一個執行其他功能的PHP文件。將URL從PHP傳遞到javascript

我想如何處理棘手的數據。我有一個所有提要元素的網址。當用戶點擊特定的Feed時,我需要檢索與該特定Feed關聯的網址。

我想運行一個$ .click()函數,其中我要將$ .post轉換爲下一個php腳本。

如何獲取該URL而不將其存儲在HTML本身中。我不希望將URL存儲在html文檔中以達到安全目的。

我是PHP新手。

+0

你可能想看看AJAX – CoffeeRain 2012-02-02 17:32:57

+0

一種解決方案是使一個AJAX請求來檢索的網址:http://www.jorble.com/2012/01/how- to-pass-php-variables-to-javascript/ – 2012-02-02 17:33:49

+1

「我不想爲了安全目的而將URL存儲在html文檔中。」如果你使用'POST'數據,用戶無論如何都可以使用瀏覽器的內置工具來查看URL,所以「安全性」是一個有爭議的問題。 – 2012-02-02 17:34:16

回答

0

您將需要爲每個對應於該url的列表元素分配唯一的id(uid)。處理這個問題的好方法是數據庫。您發送列表項的標識符,在數據庫中查找關聯的url,執行一些魔術,並將響應發送回客戶端。您可以使用jQuery的data方法來利用html5數據屬性來存儲信息。這是基本的僞代碼。

HTML

<li class="feed" data-uid="12345">Go</li> 

的JavaScript

$('li.feed').click(function() { 
    $.post({ id: $(this).data('uid') }, function(data) { 
     //do something with data 
    }); 
}); 

PHP

$uid = $_POST['uid']; 
//db lookup of url 
//do something with url 
//return data to page 
0

您可以加密從服務器發送的URL,然後解密從客戶端發回的URL。只需使用簡單的鹽加密方法即可。我假設你將使用ajax或類似的東西從客戶端回傳到服務器,在這種情況下,這種方法將適用於你。

或者,您可以創建一個數組並使用發送給客戶端的關聯關鍵字將這些url存儲在集合中,然後通過該關鍵字在服務器端查找URL。你也可以實現一個數據庫解決方案來做同樣的事情,其中​​關鍵是數據庫中的ID。

0

u必須編碼可變網址...

PHP

var url = ...; 

的JavaScript

$(function(){ var d1 = <?php echo json_encode(array($url)); ?>;});