2012-09-13 18 views
0

如果以下可能? 我希望將警報(結果)移入函數並動態調用它。用javascript在param中執行動態功能

當前

$.ajax(this.href, { 
    success: function (result) 
    { 
     alert(result); 

     AjaxComplete(); 
    } 
}); 

我嘗試 - 不工作

$.ajax(this.href, { 
    success: function (result) 
    { 
     window["MyAlert(result)"](); 

     AjaxComplete(); 
    } 
}); 

function MyAlert(result) 
{ 
    alert(result); 
} 

這可能嗎?

回答

3

爲什麼你不能這樣做?

MyAlert(result); 

如果MyAlertwindow對象的一部分,它已經是一個全球性的。

除非你想叫的名字任意函數(這是不是真的好做法,IMO),你可以這樣做:

window[function_name_string](argument); 
+0

因爲我想將函數存儲在屬性中。 data-ajax-onsuccess-withparam –

+0

然後我的第二個代碼塊將工作。 – Blender

+0

作品,非常感謝你! –

1
window["MyAlert(result)"); 

是無效的語法(missmatching [),錯誤的函數名稱,並沒有調用它,只是得到它..)。應該

window["MyAlert"](result); 

,如果你想這樣稱呼它,但我不明白爲什麼你不能叫它正常,如攪拌機提及。

+0

啊是的,]]的東西是打字問題的一個錯字。謝謝 –