[英]can i call function created in php from java script or jquery ? How?
我想從Java腳本或jquery用php調用我的函數。
我已經試過了。
<script>
function hello(){
<?php
print_hello();
?>
}
hello();
</script>
print_hello()是我的php函數,它可以打印問候。
無法直接調用php方法,它給出的錯誤not defined
因為javascript文件中沒有方法print_hello
。
ReferenceError: print_hello is not defined
您必須使用AJAX從javascript調用php方法。
AJAX有點棘手,如果您想使其簡單,則可以使用jQuery庫。
您必須在文件的print_hello
方法中包含代碼,然后使用AJAX調用該文件。 假設您已將方法print_hello
放入文件print_hello.php
,示例代碼將為:
$.ajax({
url: "print_hello.php"
}).done(function() {
alert( "called php code succesfully" );
});
並將您的php代碼放在文件php_hello.php
<?php
print_hello();
?>
有關如何進行ajax調用的更多信息,請參見:
注意:(因為您是Web開發的新手)
Web開發與通信有關。 在這種情況下,將通過HTTP協議在2個參與方之間進行通信:
服務器-此方負責提供頁面。
客戶端-此方從服務器請求頁面,並將頁面顯示給用戶。 在大多數情況下,客戶端是Web瀏覽器。 用戶-用戶使用客戶端瀏覽網頁,填寫表格,在線觀看視頻等。雙方的編程均指在特定計算機,服務器或客戶端上運行的代碼。
不,JavaScript在瀏覽器中運行,PHP在服務器端運行。
您應該考慮使用AJAX(例如,使用jQuery使其變得容易)在服務器上運行特定的PHP函數,並返回結果。
或者,如果問題中的代碼段是由PHP腳本提供的html,則可以編寫以下代碼:
<script>
function hello(){
console.log('<?php print_hello();';?>
}
hello();
</script>
不,服務器端與客戶端。
PHP在服務器上運行,而Javascript(通常)在客戶端上運行。
如果您的PHP print_hello();
功能是這樣的
function print_hello() {
printf "document.getElementById('some_id').innerHTML = 'Hello!';";
}
那么這將導致用戶瀏覽器中出現以下情況:
function hello(){
document.getElementById('some_id').innerHTML = 'Hello!';
}
hello();
簡而言之:您可以在PHP服務器端創建Javascript,但不能在客戶端運行PHP腳本。
我想你可以。 您需要將Javascript存儲在.php文件中。 並將您的Php函數置於標記之外。
可以從服務器端動態生成JavaScript。 之所以可行,是因為PHP在發送到客戶端之前先在服務器端執行。 這取決於您的PHP函數輸出的內容。 如果輸出有效的JavaScript,則它將正常工作。 例如,如果您的print_hello()函數輸出alert('test');
然后JavaScript代碼就可以做到這一點。 但是,我建議不要在服務器端動態生成javascript,除非出於維護性的考慮絕對必要。
不,您無法通過腳本調用。
<script>
function hello(){
console.log('<?php print_hello();';?>
}
hello();
</script>
像這樣對服務器端代碼進行ajax調用
PHP代碼(target.php):
<?
function foo( ) {
//do some processing here and echo the data
}
?>
JQUERY代碼:
$.ajax({
url: "/target.php/foo",
data:{} //data to the server script
success: function( data ) {
//Data returned from server side script
}
});
快樂編碼:)
很簡單
$(document).ready(
function run_php() {
$('.my_class').load('my.php');
}
);
// or with parms
//$('.my_class').load('my.php', {'path': 'my_parms'});
其中my_class是當前php中的任何類
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.