我有js文件,我需要調用php文件中定義的函數來計算值,然後繼續下一步。這可能嗎?我無法從腳本訪問php文件的功能。也有一些解決方法可以在不改變擴展名的情況下將php文件包含在html頁面中.html
是否可以在js腳本中包含php文件並訪問該php文件的功能?
回答
不,你不能那樣做。 PHP和Javascript不能在相同的環境中執行,也不能同時執行。
PHP在頁面提供之前在您的web服務器(服務器端)上執行。 在頁面投入後,Javascript會在CLIENT的瀏覽器上執行。
要從JavaScript調用PHP函數,您需要進行AJAX調用。這將從客戶端向服務器端發送一個值,在該端可以處理該值,然後將響應發送回客戶端。
PHP文件是由服務器執行的文件。
- 「我有js文件,我需要調用php文件中定義的函數來計算值。」瀏覽器不能運行php函數,你需要服務器來做到這一點。
- 「還有一些解決方法可以將PHP文件包含在html頁面中,而不會改變擴展名.html」如果你這樣做,你的php代碼將無法運行,因爲服務器使用擴展名來知道文件是否需要執行。
要從JavaScript調用PHP函數,您需要AJAX。該值從客戶端發送到處理它的服務器,然後將響應發送回客戶端。
關於文件擴展名;大多數網絡服務器可以配置爲採取任何你想要的擴展名,並將其解析爲你想要的任何文件。您可以將Apache配置爲將.html文件視爲PHP代碼。您甚至可以將其配置爲將.asp,.jpg或.xxx文件視爲PHP。 – Martijn
不知道,謝謝!這解釋了很多事情。 –
@Martijn:我如何配置Apache以將PHP.html文件視爲PHP代碼? – user850234
如果你想訪問服務器端資源(文件系統寫入,數據庫),你需要使用AJAX來回切換。
如果你只是使用PHP的familiair,你可以看看http://phpjs.org/,它重新實現了Javascript中的許多PHP函數。
你會很容易使用。
$.ajax({
type: "POST",
url: "yourphpfile.php",
data: { values: "100"}
}).done(function(msg) {
console.log("php file called"+msg);
});
與你的PHP文件替換yourphpfile.php和你的PHP文件被執行
- 1. 是否可以只包含php素材並在包含php文件時跳過html文本?
- 2. 我可以在.js文件中包含一個php腳本嗎?鏈接下拉
- 3. PHP - 讓腳本可訪問文件,但不能訪問用戶
- 4. 是否可以使用PHP CLI獲取* .sh文件並在PHP腳本中訪問導出的Env vars?
- 5. 當向腳本添加功能時,PHP不包含文件
- 6. PHP:是否可以包含兄弟目錄中的文件?
- 7. 在PHP腳本中包含來自文本文件的數組
- 8. 是否可以在上傳文件夾中阻止php腳本?
- 9. 是否可以禁止在PHP腳本中顯示JavaScript文件?
- 10. 包含文件和功能PHP
- 11. 在網頁中包含php文件包含功能
- 12. 閱讀是否包含文件減慢php腳本加載?
- 13. 包含的PHP文件是否可以知道它包含在哪裏?
- 14. 我應該在我的php腳本中包含哪些文件以利用WordPress提供的功能?
- 15. 可能%包含文件在Mako中是否存在文件?
- 16. 在yii如何包含php文件並訪問它的輸入
- 17. 是否有可能檢測何時包含php文件?
- 18. PHP文件包含問題
- 19. 如何更改php.ini中的設置以在PHP文件中包含php腳本?
- 20. php是否包含鎖定文件?
- 21. 如何通過php腳本在html文件中包含一個php文件
- 22. 在PHP中包含太多文件是否會降低性能?
- 23. 不能在php中包含文件
- 24. 是否可以將彙編代碼包含到php腳本中?
- 25. 包含PHP文件的JS,Css
- 26. Php。用戶可以在文件中寫入數據,並且包含文件
- 27. 是否可以包含壓縮文件中的JavaScript文件?
- 28. 是否可以在包含文件中使用包含文件作爲變量
- 29. 懷疑在PHP文件中包含js文件
- 30. 使腳本可以訪問文件,但不能訪問用戶
我不這麼認爲。您可以通過Ajax調用訪問PHP文件 – skos