2012-06-27 27 views

回答

5

不,你不能那樣做。 PHP和Javascript不能在相同的環境中執行,也不能同時執行。

PHP在頁面提供之前在您的web服務器(服務器端)上執行。 在頁面投入後,Javascript會在CLIENT的瀏覽器上執行。

要從JavaScript調用PHP函數,您需要進行AJAX調用。這將從客戶端向服務器端發送一個值,在該端可以處理該值,然後將響應發送回客戶端。

0

PHP文件是由服務器執行的文件。

  1. 「我有js文件,我需要調用php文件中定義的函數來計算值。」瀏覽器不能運行php函數,你需要服務器來做到這一點。
  2. 「還有一些解決方法可以將PHP文件包含在html頁面中,而不會改變擴展名.html」如果你這樣做,你的php代碼將無法運行,因爲服務器使用擴展名來知道文件是否需要執行。

要從JavaScript調用PHP函數,您需要AJAX。該值從客戶端發送到處理它的服務器,然後將響應發送回客戶端。

+2

關於文件擴展名;大多數網絡服務器可以配置爲採取任何你想要的擴展名,並將其解析爲你想要的任何文件。您可以將Apache配置爲將.html文件視爲PHP代碼。您甚至可以將其配置爲將.asp,.jpg或.xxx文件視爲PHP。 – Martijn

+0

不知道,謝謝!這解釋了很多事情。 –

+0

@Martijn:我如何配置Apache以將PHP.html文件視爲PHP代碼? – user850234

1

如果你想訪問服務器端資源(文件系統寫入,數據庫),你需要使用AJAX來回切換。

如果你只是使用PHP的familiair,你可以看看http://phpjs.org/,它重新實現了Javascript中的許多PHP函數。

3

嘗試JQuery Ajax

你會很容易使用。

$.ajax({ 
    type: "POST", 
    url: "yourphpfile.php", 
    data: { values: "100"} 
}).done(function(msg) { 
    console.log("php file called"+msg); 
}); 

與你的PHP文件替換yourphpfile.php和你的PHP文件被執行

相關問題