2010-07-25 39 views
0

什麼是Php中Asp.Net的ScriptManager.RegisterStartUpScript()的等效物?我想從我的PHP函數中調用一些Javascript函數,即在某些事件被觸發後(可能會將記錄添加到數據庫),我想調用JavaScript函數。該事件使用JQuery的Ajax觸發。如何從php函數調用javascript函數?

在此先感謝:)

回答

1

如果使用JQuery觸發事件,則可以使用Ajax選項的Success參數指定要調用的函數。

例如:

var options = { 
url:  'urlForAJAXCall.php', 
success: function(){ 
    //Call your function here 
}, 
error: function() { 
    alert('failure'); 
}}; 

$.ajax(options); 
2

你不能。 PHP在服務器上解析。 js在客戶端被解析。

+1

是的,offsourse js在客戶端被解析。但在Asp.Net中,它是受支持的。我們可以在頁面中動態注入javascript,並且可以從服務器端調用客戶端觸發的函數。 – TCM 2010-07-25 03:52:31

+0

但是如果這個過程是由ajax調用觸發的並且你想要的話......用戶點擊一個按鈕並且它向你的腳本發送一個值並且你的腳本更新了一個db表或者其他東西......並且你想要一個js彈出窗口說它成功了,你可以執行查詢並輸出文本中的ajax調用接收的響應,並根據你發回的響應讓彈出發生在客戶端。 – 2010-07-25 03:53:07

+0

^^以及你問的關於PHP,而不是Asp.Net。 PHP不能這樣做,除了我上面所說的。或者我猜你可以回顯出js代碼並立即刷新輸出緩衝區(ob_flush),這可能會奏效...... – 2010-07-25 03:55:39

1

也許你想要的是運行Ajax請求的成功事件的JavaScript或jQuery的。

請記住,「成功」僅僅意味着http請求已完成(瀏覽器與服務器通話),但這並不意味着.php或數據庫查詢起作用。

此外,你可以返回一些東西從PHP,可能在一個JSON數組給你一個結果,然後JavaScript可以使用例如:檢查,如果用戶名已經存在於數據庫中,並給出錯誤確實,否則將用戶名添加爲新用戶。