2012-03-08 30 views
5

我有一個Web應用程序,它具有從MySQL表中生成的一堆不同項目。當用戶瀏覽它時,我希望他們能夠點擊該項目旁邊的鏈接,該鏈接將請求插入到MySQL數據庫中。通常情況下,我會通過創建一個PHP頁面(我會這樣做),通過使用$ _GET方法&將項目名稱&用戶標識插入到表中。但是,在這種情況下,我不希望用戶被重定向到任何地方。我只是希望鏈接發送請求,並在成功後顯示一條小消息。通過單擊鏈接發送AJAX請求而不重定向用戶

我覺得jQuery/AJAX會是最好的選擇,但由於我對它不太熟悉,所以我不知道該怎麼做。任何提示都表示讚賞!

+0

有什麼你試過了嗎?你有沒有看過JQuery howto,因爲這裏有它的例子。 – Churk 2012-03-08 18:48:06

回答

12

你必須做一些像

$('.classofyourlink').click(function(e){ 
    e.preventDefault();//in this way you have no redirect 
    $.post(...);//Make the ajax call 
}); 
以這種方式使得用戶通過點擊鏈接,不會重新導向一個Ajax調用

。下面是$.post

編輯文檔 - 傳遞價值的jQuery在你的情況,你應該這樣做

$('.order_this').click(function(e){ 
    e.preventDefault();//in this way you have no redirect 
    var valueToPass = $(this).text(); 
    var url = "url/to/post/"; 
    $.post(url, { data: valueToPass }, function(data){...});//Make the ajax call 
}); 
+0

我怎麼會將動態生成的值傳遞給jQuery? '".$row['P/N'].」' – 2012-03-08 19:16:59

+0

像我可以以某種方式重載$ row ['P/N']的值嗎? – 2012-03-08 19:26:18

+0

@AndrewDeForest我更新了我的答案 – 2012-03-08 19:33:53

0

http://api.jquery.com/jQuery.ajax/

$('#my-link').click(function(){ 
    $.ajax({ 
     url: "mypage.php", 
     context: document.body, 
     success: function(){ 
     $(this).addClass("done"); 
     } 
    }); 
    return false; 
}); 
+0

這並不妨礙鏈接正常開火它只是做AJAX請求 – Cfreak 2012-03-08 18:47:01

+0

你不能阻止重定向 – 2012-03-08 18:47:40

3

HTML

<a id="aDelete" href="mypage.php">Delete</a> 

腳本

$(function(){  
    $("#aDelete").click(function(){   
     $.post("ajaxserverpage.php?data1=your_data_to_pass&data2=second_value",function(data){ 
     //do something with the response which is available in the "data" variable 
    }); 
    }); 
    return false;  
});