2012-02-26 44 views
1

我明白,不能從客戶端(JavaScript)執行PHP,但那麼適當的方法是什麼?在PHP中寫我的jQuery?這是我正在尋找的一個例子。如何將PHP插入jQuery?

<!-- Wordpress template URL --> 
<div id="template_directory" style="display: none;"> 
    <?php bloginfo('template_url'); ?> 
</div> 

<!-- Fetch with jQuery --> 
var templDirec = $("#template_directory").html(); 
var imgHTML = '<img src="' + templDirec + '/images/my-image.jpg" />'; 

因爲我是新手,所以首選簡單的描述性答案。讓js和php一起工作的最佳方式是什麼?由於

+1

什麼不行? – Michas 2012-02-26 07:07:37

+1

你究竟想達到什麼目的?您可以使用xmlHttpRequest從JavaScript客戶端執行JavaScript(您可能知道它是AJAX)。 – 2012-02-26 07:33:57

+0

@Michas上述作品,我只是想知道這些任務的最佳做法。這只是我試圖解決這個問題。 – Marc 2012-02-27 07:01:44

回答

2

首先,你應該換行的js代碼與script - 標籤:

<!-- Wordpress template URL --> 
<div id="template_directory" style="display: none;"> 
    <?php bloginfo('template_url'); ?> 
</div> 

<!-- Fetch with jQuery --> 
<script type="text/javascript"> 
var templDirec = $("#template_directory").html(); 
var imgHTML = '<img src="' + templDirec + '/images/my-image.jpg" />'; 
</script> 

如果你想從PHP通過一些數據來JS使用echo

<script type="text/javascript"> 
var templDirec = $("#template_directory").html(); 
var imgHTML = '<img src="<?php echo $image ?>" />'; 
</script> 

其中$image -php變量。一般來說,您可以使用PHP和html生成任何JS代碼。

從JS(從客戶端到服務器)將數據傳遞給PHP使用AJAX

我希望這將有助於。

+0

'$ image'在第二個代碼塊中應該有一個分號(;)。 – 2012-02-26 09:22:02

+0

嘿,夥計,謝謝,但這不是我要找的。我不認爲你的代碼也可以工作,因爲我嘗試了類似的東西,我得到的只是我的PHP的字符串文字(換句話說,PHP沒有轉換)。另外,我在.js文件中有我的jQuery,因此不需要

0

你的問題非常模糊,不清楚你在問什麼。只要您從評論或答案中瞭解到某些內容,請立即修改並優化您的問題。

首先,正如webdeskil在評論中指出的那樣,您確實可以從客戶端調用PHP代碼,而且事實上這經常是非常頻繁的。你不能做的是在客戶端執行PHP代碼。任何執行服務器端代碼的請求,在這種情況下,PHP都必須到達服務器端,並且它是有意義的,才能執行。

從你的標籤看起來你正在爲wordpress寫一些代碼。恕我直言,學習編程技巧的一種好方法是查看現有的代碼。由於wordpress是開源的,您可以打開任何插件或主題並進行查看。然而,你的wordpress需要的頭號資源當然是codex。仔細閱讀法典文檔,在這種情況下,codex document for using javascript與您的問題有關。

一些提示,也許有所幫助:

  • 你應該避免編寫JavaScript文件,其中PHP可以做同樣的事情
  • 如果您使用JQuery,你應該知道,WordPress的已經加載的JQuery的實例爲你你應該避免加載另一個實例,如果你能

總之,給你更多的幫助,你需要編輯和進一步優化的問題,否則其所有的猜測我們試圖幫助。

+0

我認爲這是我所遇到的一個普遍問題。上面的作品(迄今爲止很好),但我知道我沒有看到這在正確的光線,而你的答案剛剛擺脫了一些,我仍然想知道程序員如何處理與jQuery和PHP的工作,與AJAX soley,或?如果是這樣,你能告訴我一個基於我上面的代碼的例子嗎? – Marc 2012-02-27 07:23:32