2013-09-22 29 views
1

我想在點擊一個按鈕時在ajax調用上發送一個變量。該按鈕有一個ID和按鈕的點擊ID應該通過Ajax調用PHP文件用ajax調用發送變量,然後進入php

<button class="btn-view-products" id="mangoes">View Products</button> 

和我的JS是

var gallery = $("#product-gallery"); 
var viewproducts = $('.btn-view-products'); 
viewproducts.click(function(){ 
pid = $(this).attr('id'); 
gallery.load("gallery.php?id="+ pid, hideLoading); 
}); 

,並在我的PHP

$fname = $_GET["pid"]; 
$images_dir = "images/products/".$fname."/showcase/"; 

我沒有得到在php中的id值。 請幫忙。 感謝提前一噸。

+4

URL是使用ID,而PHP我s使用pid。在這裏發帖時可能是一個錯字,所以我不會提供它作爲答案,除非它當然是問題所在。 –

+0

爲什麼不把鏈接放到你的按鈕上並使用PHP創建你的pid鏈接? –

+0

$ _GET [「pid」]應該是$ _GET [「id」],因爲您正在傳遞「id」而不是「pid」..?是一個錯字..? –

回答

2

您正在通過js中的id並在php中訪問pid。因此,請將您的js替換爲,

var gallery = $("#product-gallery"); 
var viewproducts = $('.btn-view-products'); 
viewproducts.click(function(){ 
    pid = $(this).attr('id'); 
    gallery.load("gallery.php?pid="+ pid, hideLoading); 
}); 
+0

非常感謝泥盆..它的工作..我的錯誤.. :-) – user2290403

+0

感謝大衛。我沒有注意到它。 – user2290403

+0

@Sergio如果在js中改變,會出現什麼問題?是否有任何性能問題? – devo

1

在您的JavaScript中,您正在向gallery.php發送請求? id =在您的PHP腳本中,您正在尋找$ _GET ['pid']。其中一人需要改變,因爲他們不匹配。

變化:

gallery.load("gallery.php?id="+ pid, hideLoading); 

要:

gallery.load("gallery.php?pid="+ pid, hideLoading); 

或更改:

$fname = $_GET["pid"]; 

要:

$fname = $_GET["id"];