2012-02-09 55 views
0

我知道這個問題可能被要求100萬次,但爲1.000.001時間:)如何使用ajax從javascript調用php函數?

我需要從JavaScript調用一個PHP函數。如果ajax能夠做到這一點,我有點爭論。

我不想發送任何數據只是一個Ajax調用,將調用和運行功能。

這裏是我到目前爲止有:

$.post('functions/test.php', function() { 
    console.log("Hooray, it worked!"); 
}); 

是這樣會運行test.php

謝謝

+5

爲什麼不嘗試一下,並找出? – 2012-02-09 00:40:48

+1

'這是要運行test.php'是,如果路徑到PHP腳本是正確的。 – Cheery 2012-02-09 00:45:21

回答

2

它絕對運行test.php的,要檢查它,你可能做某事在成功

$.ajax({ 
    type: "POST", 
    url: "ajax/test.php", 
    success: function(data) { 
     alert(data); 
    } 
}); 

但是,如果沒有數據發送的目的是什麼?

+0

一般時未發送任何數據,然後調用的腳本不直觀的東西,比如登錄特定文檔或類似的東西的看法。我認爲這可能是習慣jQuery和PHP之間通信的第一步。 – Jasper 2012-02-09 00:59:58

1

很可能,是的。我不能保證它,因爲我不做jQuery。

然而,這肯定會運行它沒有任何問題(除了IE版本太舊,你不應該關心他們):

var a = new XMLHttpRequest(); 
a.open("GET","functions/test.php"); 
a.onreadystatechange = function() { 
    if(a.readyState == 4) { 
     if(a.status == 200) { 
      console.log("Hooray, it worked!"); 
      // optionally, do stuff with a.responseText here 
      // a.responseText is the content the PHP file outputs, if any 
     } 
     else alert("HTTP error "+a.status+" "+a.statusText); 
    } 
} 
a.send(); 
1

是在test.php腳本將運行,並且可以從test.php這樣的腳本搶輸出(如果你想):

$.post('functions/test.php', function(data) { 
    //the `data` variable now stores the server response (whatever you output in `test.php`) 
    console.log("Hooray, it worked!"); 
}); 
1

jQuery中,你可以這樣做:

$.post('functions/test.php', function(data) { 
alert(data); 
}); 

無論在test.php的返回將投入變量「數據」

所以,你可以在test.php的做任何你需要的PHP函數和發送輸出背部。

0

我總是用

jQuery.ajax("url.php");