我有一个简单的jquery函数,我正在尝试让ajax动态运行。该函数在作为调用时工作良好
function widget1() {
console.log("test");
}
$(function () {
$('#thisbutton').bind('click', function() {
var htmlString = $("#uid").html();
$.ajax({
type: "GET",
url: "/getappobj",
data: {id:htmlString},
success: function(data) {
widget1();
}
});
});});
但是,如果我试图动态调用函数,我会得到一个错误,即字符串不是函数
$(function () {
$('#thisbutton').bind('click', function() {
var htmlString = $("#uid").html();
$.ajax({
type: "GET",
url: "/getappobj",
data: {id:htmlString},
success: function(data) {
var findit = data[0].widget;//returns "widget1"
findit();
}
});
});});
我想办法都试过了。使用jquery-1.9.1.min.js.
如果widget1
是全局的,则可以调用window[findit]()
以按名称从窗口对象中获取函数。
您正试图将字符串作为函数调用,但这当然是行不通的。您需要使用字符串来查找要执行的函数。