2011-08-16 499 views
2

我有一個簡單的負載更多的風格腳本,索引頁,其中只有一個參數是通過AJAX如何通過jQuery.ajax()將多個參數傳遞給PHP?

$(function() {//When the Dom is ready 
    $('.load_more').live("click",function() {//If user clicks on hyperlink with class name = load_more 
     var last_msg_id = $(this).attr("id");//Get the id of this hyperlink this id indicate the row id in the database 
     if(last_msg_id!='end'){//if the hyperlink id is not equal to "end" 
      $.ajax({//Make the Ajax Request 
       type: "POST", 
       url: "index_more.php", 
       data: "lastmsg="+ last_msg_id, 
       beforeSend: function() { 
        $('a.load_more').html('<img src="loading.gif" />');//Loading image during the Ajax Request 
       }, 
       success: function(html){//html = the server response html code 
        $("#more").remove();//Remove the div with id=more 
        $("ul#updates").append(html);//Append the html returned by the server . 
       } 
      }); 
     } 
     return false; 
    }); 
}); 

發送有了這個HTML/PHP

<div id="more"> 
<a id="<?php echo $msg_id; ?>" class="load_more" href="#">more</a> 
</div> 

但是上工作得很好,我想添加另一個PHP變量,以便它也可以處理特定的類別,我沒有問題編寫HTML和PHP,但我是Jquery的新手,並努力編輯腳本以包含附加參數(如果已設置)。這是我正在考慮使用的HTML,只是努力編輯JQuery

<div id="more"class="<?php echo $cat_id;?>"> 
<a id="<?php echo $msg_id;?>" class="load_more2" href="#">more</a> 
</div> 

一如既往的任何幫助,非常感謝!

+0

你試圖添加什麼額外的參數? –

+0

@ user866190在HTML中使用額外的類標記是傳遞第二個變量的唯一方法嗎?如果你需要通過三次或更多,你會怎麼做? – TimNguyenBSM

回答

6

您可以的data部分傳遞多個網址參數的阿賈克斯呼籲。

data: "lastmsg="+ last_msg_id +"&otherparam="+ other_param 

在PHP方面,您只需按照原樣處理它們即可。

+0

感謝您的迴應,我想知道如果我必須創建一個變量的額外參數設置就像第一個..? – user866190

+0

在我的回答中,您必須創建other_param並設置其值。你也可以像這樣在字符串中傳遞它:'data:「lastmsg =」+ last_msg_id +「&otherparam = tacos」'。 –

6

您可以設置

data = {onevar:'oneval', twovar:'twoval'} 

而且兩者鍵/值對將被髮送。

Jquery ajax docs

如果你看看下data部分,你可以看到你可以通過查詢字符串像你這樣,數組或對象。如果你使用相同的方法,你已經在使用,然後你data值會像"lastmsg="+ last_msg_id + "&otherthing=" + otherthing

3

您可以使用此代碼:

$.ajax({//Make the Ajax Request 
       type: "POST", 
       url: "index_more.php", 
       data: {var1: "value1", var2: "value2"}, 
       beforeSend: function() { 
        $('a.load_more').html('<img src="loading.gif" />');//Loading image during the Ajax Request 
       }, 
       success: function(html){//html = the server response html code 
        $("#more").remove();//Remove the div with id=more 
        $("ul#updates").append(html);//Append the html returned by the server . 
       } 
      }); 
0

試試看:

data: JSON.stringify({ lastmsg: last_msg_id, secondparam: second_param_value}); 

您可以添加多個參數用逗號分隔它們(,)。

相關問題