我希望能夠在onclick狀態下執行php腳本,但每個頁面可能會擁有多個按鈕,每個按鈕都有不同的動作發送。我想要腳本被執行,但我不希望頁面被改變。在AJAX中執行一個帶有變量參數的php腳本?
這是執行一個UDP客戶端來改變遠程box.each按鈕發送一個不同的行動到不同的董事會,實際上我需要發送2個參數到腳本。
這樣的事情我需要發送:set_states.php IP = xxx.xx.xxx.xx & CMD = CR1
thanx的幫助!
我希望能夠在onclick狀態下執行php腳本,但每個頁面可能會擁有多個按鈕,每個按鈕都有不同的動作發送。我想要腳本被執行,但我不希望頁面被改變。在AJAX中執行一個帶有變量參數的php腳本?
這是執行一個UDP客戶端來改變遠程box.each按鈕發送一個不同的行動到不同的董事會,實際上我需要發送2個參數到腳本。
這樣的事情我需要發送:set_states.php IP = xxx.xx.xxx.xx & CMD = CR1
thanx的幫助!
URL的內容並不重要。重要的是你正在使用的HTML動詞(get,post,delete,put)和你返回的內容類型。網址可以是任何內容。我只是使用一些像jQuery一樣的js庫。看看他們的$ .get,$ .post,$ .ajax函數。
如果您不使用js庫,那麼您需要考慮各種瀏覽器中的所有差異。通常,雖然它是這樣的:http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first
在你的情況,我會使用jquery(因爲它會讓你開始非常快)。由於你的變量在url中,而你沒有發送任何其他數據,你可以使用get。通常對於mutators你應該使用post。我認爲這不重要。刪除下面的腳本到您的網頁(根據需要進行修改):
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script>
$(function(){
$('#the-id-of-your-button').live('click',function(){
$.get('set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1',function(return){
alert('success');
});
});
});
</script>
第一部分:$('#the-id-of-your-button').live('click'
手錶瀏覽器在一定意義上,看看是否匹配任何元素出現並綁定一個click事件給他們。在某種意義上,Live會主動等待dom的變化。 Click是處理程序,並且$('#你的按鈕的id)是選擇器。下一部分:
function(){
$.get('set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1',function(return){
alert('success');
});
});
是發生點擊事件時發生的情況。我們稱之爲匿名函數。它可以被重寫爲:
function onButtonClick(){
$.get('set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1',function(return){
alert('success');
});
});
$('#the-id-of-your-button').live('click',onButtonClick());
或類似的東西,但這只是爲了幫助您瞭解正在發生的事情。
下一部分:
$.get('set_states.php?ip=xxx.xx.xxx.xx&cmd=CR1',function(return){
alert('success');
});
是AJAX請求並執行,如果它成功返回的功能。在這種情況下,它只會提醒我們。
哦另外:$(function(){});
包裝一切,告訴我們在頁面準備好時運行腳本。 Soooo一旦頁面準備就緒,我們將打開實時命令來觀察按鈕。你可能不需要它(我知道有些情況下,它不重要,但爲了以防萬一,我把它放在那裏)。
你可能需要調整一下:)。
剛剛找到一個ajax教程,網上有很多。 – xdazz