2012-05-15 44 views
3

如何做到這一點?如何通過AJAX從PHP文件返回JavaScript?

  1. 我們有一個onclick事件按鈕,它使用AJAX向PHP文件發送查詢。
  2. PHP文件具有以下JavaScript:echo '<script>alert("hello");</script>';
  3. 當推動onclick事件按鈕時,JavaScript不起作用。我沒有看到「hello」消息。

有誰知道如何從PHP執行JavaScript?我需要這個。我知道所有的JavaScript應該在AJAX層面上執行。但是這種情況需要執行一個JavaScript,PHP返回作爲響應。

問候

+0

您是否將javascript添加到文檔? – CompanyDroneFromSector7G

+1

如果您使用的是jQuery,[getScript](http://api.jquery.com/jQuery.getScript/)提供了最簡單的界面來執行此操作。 –

回答

0

考慮一個javascript,如:

"alert(\"hello\");" 

返回這樣的:

var js = ajax.r; 

而只是做:

eval(js); 

但在我看來,你有一個非常重要的的建築問題。

+0

在回調中不會定義'js'。 –

+0

@ user1330271什麼,如果PHP文件返回這個數據: ?? ?? – ilnur777

+0

沒有意義。你怎麼能返回JavaScript和一小部分的HTML?什麼試圖實現? – user1330271

3

由於PHP在服務器端執行,而客戶端的JS執行,因此無法從PHP執行Javascript。您需要在客戶端返回Javascript代碼eval

您可以在AJAX回調函數做到這一點:

$('#yourButton').onclick(function(){ 
    //make your ajax request 
    $.ajax({ 
     url : "url", 
     success : function(resp){ 
      //resp is the javascript code sent back from PHP 
      //eval it 
      eval(resp); 
     } 
    }) 
}); 
0

評估和演示的工作,但要小心。

如果用戶生成的內容可以進入您的eval語句,某人可以使用它爲您的網站創建惡意腳本。

只是擡起頭來。