我有一个简单的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。
答案 0 :(得分:3)
如果widget1
是全局的,您可以调用window[findit]()
按名称从窗口对象中获取该函数。
您正在尝试将字符串作为函数调用,这当然不起作用。您需要使用该字符串来查找要执行的函数。