2012-08-02 28 views
-5

我有一個包含javascript函數的PHP文件。該功能將「用戶」作爲參數。我如何在嵌入式PHP中包含此參數?以PHP格式在Javascript中使用Javascript

$("#items-table").html("<p><?php echo(hello " + user + "); ?></p>") 

我得到的錯誤是:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING

我必須得要附加到單獨的塊的HTML?

+5

這並沒有什麼意義,因爲PHP在服務器上運行之前,Javascript正在發送到服務器。你想要達到什麼目的? – 2012-08-02 21:54:31

+0

這是可行的,但正如Pekka所說,這樣做可能沒有意義。大規模動態生成的Javascript也不是最好的主意。 – Jon 2012-08-02 21:57:27

+0

該函數將被加載需要PHP處理的數據的ajax函數調用。完成這個更好的策略是什麼?我試圖重新加載基於新的查詢到數據庫的視圖。 – 2012-08-02 21:58:58

回答

3

PHP是服務器端語言,JavaScript是客戶端。實現你要完成的任務的唯一方法是運行頁面,首先讓PHP處理它所需的內容,然後將頁面發送給客戶端,並讓客戶端處理他或她需要的內容。

+0

只是想知道,爲什麼-1? – 2012-08-02 21:56:58

+3

爲什麼這個答案會被降低?我看不出有什麼問題... – 2012-08-02 21:57:48

+0

@MarcusRiemer我的問題確切。 ;) – 2012-08-02 21:58:34

4
$("#items-table").html("<p><?php echo "hello $user"); ?></p>") 

如果變量是在PHP端

$("#items-table").html("<p><?php echo "hello"; ?> + user + " </p>") 

如果變量是在客戶端,但是你想打個招呼用PHP

+0

這些downvotes只是沒有意義...這是一個夢幻般的答案! :) – 2012-08-02 22:00:08

1

它實際上是可能的PHP影響您的JavaScript在發送給客戶端進行瀏覽器評估之前,儘管我會提出反對意見,並嘗試使用Ajax。

如果你想這樣的工作,你的代碼示例應該看起來更像是這樣的:

$("#items-table").html("<p><?php echo("hello " . $user); ?></p>"); 

這是$ USER的假設下是你已經設置別的地方在你的PHP腳本中的變量。這個錯誤指出你錯過了PHP中所有變量所需的$ -sign。現在PHP編譯器認爲user是一個常量,解釋錯誤消息...

+0

謝謝。用戶是js函數的參數。 – 2012-08-02 22:08:21