2009-12-05 127 views
0

Begginer的問題。我可以在JavaScript中使用php嗎?

我可以在JavaScript中使用PHP嗎?

例如jQuery中,

... 
... 
triggers.eq(1).post('<?php admin/categories/delete/'. $list['id']; ?>); 
+0

你可以在php中使用php編寫的php。 – Amarghosh 2009-12-05 12:39:19

回答

0

的PHP的服務器上運行。

通常,在JavaScript的瀏覽器中運行。

您可以使用jQuery做的這是由PHP來處理的URL的請求,從而有jQuery的刪除!

3

PHP是運行在客戶端服務器端和JavaScript執行。但是你可以打印PHP變量是這樣的:

triggers.eq(1).post(<?php echo json_encode('admin/categories/delete/'. $list['id']); ?>); 

然後輸出是這樣的:

triggers.eq(1).post('admin/categories/delete/12345'); 
2

你想要做什麼是可能的,如果JavaScript是在一個PHP文件,

triggers.eq(1).post('admin/categories/delete/<?= $list['id'] ?>'); 

PHP的doenst在JavaScript運行,但是當頁面發送到客戶端的變量被替換。

+0

爲了準確答案是「否」 - 因爲您無法從「內部」Javascript中運行PHP。然而,正如你所說,PHP將在服務器端進行評估以動態創建適當的Javascript。這種區別可能很重要,如果只是這樣,在所有人都說「不」的時候,你說「是」之間不會混淆。 :-) – 2009-12-05 12:21:13

+0

@Andrzej:真的,稍微改變了我的答案:) – fredrik 2009-12-06 11:42:55

0

不,您不能以這種方式發送查詢。即使你可以發送php代碼到服務器,並執行它,它不安全的方式。

-1

重命名文件與PHP的擴展名,然後你可以使用你的文件裏的PHP代碼。

另一種解決方案來告訴你的服務器來渲染你的JS文件作爲PHP腳本。出於某些性能和安全原因,不建議這樣做。

0

不,你不能在JavaScript中使用PHP。這樣想一下:你需要一個PHP解釋器/運行庫來執行PHP,瀏覽器不包含這個。根據上面的代碼片段,您可以將ajax調用發送到服務器上的PHP腳本。

我想你可以將PHP代碼傳遞給服務器端腳本並解釋/執行它,但是仍然需要ajax或完整的GET/POST請求,並且這絕不是一件好事,因爲惡意代碼注入有多容易。

0

您可以使用PHP編寫您的JavaScript。
你不能執行PHP客戶端 - 所以不能,你不能在你的javascript代碼中使用php。

相關問題