[英]PHP method calls from Javascript not showing up in Wordpress source
我正在運行Wordpress網站,並嘗試從我的Javascript代碼調用PHP方法。
點擊按鈕時,將saverFoo()
Javascript方法,並嘗試調用PHP方法save_image_data()
。
function saverFoo() {
var dataURL = canvas.toDataURL();
<?php echo save_image_data(dataURL); ?>;
}
function loaderFoo() {
var loadedImage = <?php echo loadimagedata(); ?>;
console.log(loadedImage);
}
PHP方法的實現位於function.php
文件中,並且只是試圖將一些圖像數據(dataURL)保存在用戶的meta中
function save_image_data($imageData) {
global $current_user;
update_user_meta( $current_user->ID, 'user_design', $_POST['$imageData']);
}
function loadimagedata() {
global $current_user;
$old_notes = get_user_meta($current_user->ID, 'user_design', true);
return $old_notes;
}
在Chrome中檢查我的網頁時,顯示了一個空白空間,當我嘗試對其進行記錄時, loaderFoo ()
(javascript)應該調用loadimagedata()
(php),而loadedImage
是未定義的變量,例如:
function loaderFoo() {
var loadedImage = ;
console.log(loadedImage);
}
不知道我在這里犯了什么根本性的錯誤。
PHP不能那樣工作。 它是一個預處理器。 它都是在服務器端運行和完成的,生成的text / html / binary數據/所有內容都發送給客戶端。 對於text/html
內容類型,瀏覽器將加載,解析,渲染並運行任何javascript。
像這樣在線內混合使用PHP和JavaScript的方法是使用PHP來填充變量。 例如
alert("<?php print($_SERVER['SCRIPT_FILENAME']); ?>");
會起作用,因為客戶會看到
alert("/path/to/foo.php");
並為用戶呈現。
要使用JavaScript與PHP進行真正的交互,您需要研究使用基於HTTP的REST類型服務以及也許是Angular,Vue等各種流行工具集之一。
永遠記住,PHP在服務器端運行,而javascript在客戶端運行。 因此,我們在這里有一個命令,服務器收到請求PHP處理它應處理的內容並呈現頁面,只有Javascript會在這里執行。
在此示例中,當執行'saverFoo()'函數時,此函數<? Php echo save_image_data (dataURL); ?>;
<? Php echo save_image_data (dataURL); ?>;
已經寫在頁面上。 PHP無法以這種方式獲取dataURL
變量中包含的信息。 為此,我們必須使用所需的信息向服務器發出請求,但是使用“圖像”並不是一件容易的事,因為在使用常規String字段時,帖子的大小受到限制。
function saverFoo () {
var dataURL = canvas.toDataURL ();
<? php echo save_image_data (dataURL); ?>;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.