2013-02-06 18 views
0

我發現了很多例子,但我無法弄清楚如何將它應用到我的代碼中。我添加了一個願望清單按鈕,並希望用戶點擊它,獲得一個警報,它已被添加到其成員頁面並繼續滾動瀏覽內容。我知道我需要使用ajax將變量從url發送到JavaScript,然後通過ajax發送到php。但我堅持讓這些變量傳遞給ajax ......可能是因爲我仍然在學習它。在PHP中使用GET很容易獲得多個變量,但我無法弄清楚如何在JavaScript中做到這一點。當然,我不希望頁面重新加載。這就是我要通過的:將變量傳遞給一個php文件並執行後,保持在同一頁面位置

<div><a href='wish_list.php?title=".urlencode($title)."&link=".urlencode($link)."' 
onClick='wish(this.href); return false;'>Add to Wish List</a></div> 

如何在JavaScript中設置這些變量?我會使用的Ajax是:

$(function(){ 
set variables from url 
$.ajax({ 
type: "POST", 
url: "wish_list.php", 
data: "$link and $title" //Need help with this here 
success: function()... 
}); 
}); 

我需要鏈接變量保持編碼,因爲它是一個鏈接。那麼我該如何拉出標題並鏈接出url並將其傳遞給php文件呢?

回答

0

js無法訪問php變量。您可以將這些值存儲在一個隱藏的html輸入字段中,然後使用jquery獲取它。

link = $(#IdHiddenField).val(); 

然後在AJAX功能:

data: { link: link} 
0

你需要至少的JavaScript和jQuery的基礎,以應對AJAX功能。 您傳遞的數據屬性中的參數是一個javascript對象。它看起來像這樣:

data: {"link":"value of link", "title":"value of title", "numbers_too":1}, 

您必須用您的服務器端值替換上述那些屬性的值。

0

你可以把這些數據轉化爲使用數據的標籤屬性:

<div<a class="sender" data-link="<?= $link; ?>" data-title="<?= $title; ?> href="wish_list.php" ... etc. 

然後:

$(".data").click(function(e){ 
    type: "POST", 
    url: $(e).attr("href"), 
    data: $(e).data() 
}); 
0

您可以在AJAX功能添加到使用directy從鏈接中的 「href」。

function wish(link){ 
$.ajax({ 
type: "POST", 
url: link, 
data: '', 
success: function()... 
}); 
} 

隨着你的鏈接:

<div><a href='wish_list.php?title=".urlencode($title)."&link=".urlencode($link)."' 
onClick='wish(this.href); return false;'>Add to Wish List</a></div> 

然後,你從$ _GET URL數據。

+0

我喜歡這個想法最好,因爲我知道如何從PHP獲得變量。我有幾個問題...我知道他們很無知,但...希望(鏈接)只是鏈接?參數鏈接已經設置,或者我必須改變我的div中的東西? – user2025469

0
<div><a onClick=wish(urlencode($title),urlencode($link));>Add to Wish List</a></div> 

function wish(title,link) { 
    $.post("wish_list.php", { title: title, link: link }).done(function() { 
     alert("Added to your member page"); 
    }); 
} 
+0

這對我有意義。怎麼樣的PHP文件?就像我之前所說的,我知道如何使用$ _GET來獲取標題和鏈接完整的URL ......但一旦{title:title,link:link}是通行證,我將如何將它設置爲一個php變量被插入到數據庫?相同$ _GET? – user2025469

相關問題