我想附加一個span,其中包含PHP代碼,我知道應該有一種方法可以通過AJAX調用腳本。使用追加jQuery編譯Ajax
但我是jQuery的初學者,所以我需要有人幫助解決問題。
這裏是我的代碼:
$(document).ready(function(){
$("#btn2").click(function(){
$("#grid").append("<?php the_sub_field('image');?>");
});
});
我想附加一個span,其中包含PHP代碼,我知道應該有一種方法可以通過AJAX調用腳本。使用追加jQuery編譯Ajax
但我是jQuery的初學者,所以我需要有人幫助解決問題。
這裏是我的代碼:
$(document).ready(function(){
$("#btn2").click(function(){
$("#grid").append("<?php the_sub_field('image');?>");
});
});
你不會要能夠有執行該PHP代碼。 PHP在服務器上運行,然後發送到瀏覽器。 JavaScript在瀏覽器中,無法解釋PHP。所以,你需要發送一個AJAX調用到服務器。
的JavaScript $.ajax({ url: 'desintation.php', success: function(response){ console.log(response); } });
PHP:desination.php the_sub_field('image');
雖然我強烈建議你不這樣做,你可以創建一個PHP腳本包含你的Javascript,然後輸出正確的內容類型標題:
<?php
// jsfile.php
header('Content-type: text/javascript');
?>
$(document).ready(function(){
$("#btn2").click(function(){
$("#grid").append("<?php the_sub_field('image');?>");
});
});
,然後鏈接到該文件與腳本標籤:
<script src='/path/to/jsfile.php'></script>
你的問題是,你只是追加一個字符串到div,結果會是這樣的:
<div id="grid"><!--?php the_sub_field('image');?--></div>
我只是tried it out自己,這是結果,當你點擊後檢查HTML按鈕。我想它甚至被評論出來只是爲了有人試圖做一些非常可疑的事情。
爲什麼? JavaScript是客戶端,PHP是服務器端,PHP代碼不會運行,除非它被告知在服務器上運行。
AJAX是當你從客戶端與服務器通信,並且你通常從服務器得到某種迴應。你可以告訴服務器你想要一些數據,圖像等等,然後發送到客戶端,它可以處理數據,但是它喜歡。
看看實際AJAX是如何執行的。而且順便說一下,如果你認爲你可以混合使用JavaScript和PHP而沒有任何問題,那麼你會有一段糟糕的時間。
首先,您永遠不應該混用JavaScript和PHP。現在你只是將一個字符串附加到div上,沒有任何事情會發生。 – Jonast92
這是不是很清楚你想追加什麼。在頁面加載時是否已知附加的值?如果是這樣,那麼當前的語法是正確的,因爲您只需從PHP代碼中將該值發送到JavaScript代碼。如果不是,價值將如何計算?它可以計算客戶端,還是需要計算服務器端?如果服務器端,那麼你需要有一個服務器端處理程序(頁面)來執行計算並返回結果。然後你可以使用'.ajax()'或其他等價物來獲取值。 – David
你不能那樣做。 PHP在服務器上運行並轉換爲html。相反,你想要的是追加從我的服務器的HTML響應我認爲 –