Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery将字符串识别为函数动态回调_Javascript_Jquery_Ajax_Function - Fatal编程技术网

Javascript JQuery将字符串识别为函数动态回调

Javascript JQuery将字符串识别为函数动态回调,javascript,jquery,ajax,function,Javascript,Jquery,Ajax,Function,我有一个简单的jquery函数,我试图让ajax动态运行。该函数在这样调用时工作正常 function widget1() { console.log("test"); } $(function () { $('#thisbutton').bind('click', function() { var htmlString = $("#uid").html(); $.ajax({ type: "GET", ur

我有一个简单的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]()
从窗口对象按名称获取函数


您试图将字符串作为函数调用,这当然是行不通的。您需要使用字符串来查找要执行的函数。

如果
widget1
是全局函数,您可以调用
window[findit]()
从窗口对象按名称获取函数


您试图将字符串作为函数调用,这当然是行不通的。您需要使用字符串来查找要执行的函数。

如果
widget1
是全局函数,您可以调用
window[findit]()
从窗口对象按名称获取函数


您试图将字符串作为函数调用,这当然是行不通的。您需要使用字符串来查找要执行的函数。

如果
widget1
是全局函数,您可以调用
window[findit]()
从窗口对象按名称获取函数


您试图将字符串作为函数调用,这当然是行不通的。您需要使用字符串来查找要执行的函数。

完成了,谢谢。只要它允许,我就接受。再次感谢。或者您可以使用自己的对象来保存函数:
var funcs={widget1:function(){}
,则可以执行
funcs[findit]()。成功了,谢谢。只要它允许,我就接受。再次感谢。或者您可以使用自己的对象来保存函数:
var funcs={widget1:function(){}
,则可以执行
funcs[findit]()。成功了,谢谢。只要它允许,我就接受。再次感谢。或者您可以使用自己的对象来保存函数:
var funcs={widget1:function(){}
,则可以执行
funcs[findit]()。成功了,谢谢。只要它允许,我就接受。再次感谢。或者您可以使用自己的对象来保存函数:
var funcs={widget1:function(){}
,则可以执行
funcs[findit]()