函数将数组返回到另一个函数>未捕获的TypeError

Servrox

我有一个函数,它发出ajax请求并返回3值的数组。稍后在另一个函数中调用此函数,然后出现以下错误:

未捕获的TypeError:undefined不是函数

当我将第一行更改为函数2时:array = one();它只工作一次,其他所有函数调用均以以下错误结束:

未捕获的TypeError:对象不是函数

谁能解释一下这两个错误!


我的代码:

function one() {
        var result = null;
         var scriptUrl = [...];
         $.ajax({
            url: scriptUrl,
            type: 'get',
            dataType: 'html',
            async: false,
            success: function(data) {
                [...]
                val1 = [...];
                val2 = [...];
                val3 = [...];
            }
         });
         return [val1, val2, val3];
    }

 function two() {
            var array = one();
            var val5 = array[0];
            var val6 = array[1];
            var val7 = array[2];
        }
Servrox

将我的代码更改为以下代码(有效):

function one(callback) {
        var result = null;
         var scriptUrl = [...];
         $.ajax({
            url: scriptUrl,
            type: 'get',
            dataType: 'html',
            success: function(data) {
                [...]
                var val1 = [...];
                var val2 = [...];
                var val3 = [...];
                var result = [val1, val2, val3];
                callback(result);
            }
         });
    }

function two(result) {
    var val1_from_ajax = result[0];
    var val2_from_ajax = result[1];
    var val3_from_ajax = result[2];
}

one(two);

快速解释:
我的ajax调用的结果传递给成功,并在此结果得到处理。之后,直接调用基于ajax处理后的返回值的函数(带这些值)。一个基于ajax返回值的函数由一个参数表传递,因此在我的示例中,我调用one(two);这意味着callback(result);成功内部为two(result);
Hope,这将对其进行一些澄清:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

未捕获的TypeError:$ .post不是函数

来自分类Dev

未捕获的TypeError:Undefined不是函数

来自分类Dev

未捕获的TypeError:对象函数

来自分类Dev

未捕获的TypeError:number不是函数

来自分类Dev

未捕获的TypeError:undefined不是jQuery的函数

来自分类Dev

Javascript“未捕获的TypeError:对象不是函数”

来自分类Dev

未捕获的TypeError:undefined不是函数

来自分类Dev

未捕获的TypeError:undefined不是函数-Javascript

来自分类Dev

未捕获的TypeError:将JSON对象用于名称时,undefined不是一个函数

来自分类Dev

未捕获的TypeError:undefined不是函数

来自分类Dev

BootStrap:未捕获的TypeError:$(...)。datetimepicker不是一个函数

来自分类Dev

未捕获的TypeError:$(...)。stellar不是函数

来自分类Dev

未捕获的TypeError:$ .growl不是函数

来自分类Dev

未捕获的typeerror $(...)。swipe不是函数

来自分类Dev

未捕获的TypeError:响应不是函数

来自分类Dev

未捕获的TypeError:方法不是函数

来自分类Dev

未捕获的TypeError:this.transitionTo不是函数

来自分类Dev

获取“未捕获的TypeError:$(...)。timeago不是函数”

来自分类Dev

未捕获的TypeError:$ .cookie不是Dialog的函数

来自分类Dev

未捕获的TypeError:$(…).on不是函数

来自分类Dev

未捕获的TypeError:#<Object>不是函数

来自分类Dev

jQuery-未捕获的TypeError:$不是函数

来自分类Dev

未捕获的TypeError:$(...)。tokenfield不是函数

来自分类Dev

未捕获的TypeError:$(this).search不是一个函数

来自分类Dev

未捕获的TypeError:$ .ajax(...)。成功不是函数

来自分类Dev

另一个:未定义的未捕获的typeerror不是函数

来自分类Dev

未捕获的TypeError:将相同代码移至另一个站点时,undefined不是一个函数

来自分类Dev

未捕获的TypeError:this.getRouter不是一个函数

来自分类Dev

从一个函数返回的数组没有被另一个函数捕获

Related 相关文章

  1. 1

    未捕获的TypeError:$ .post不是函数

  2. 2

    未捕获的TypeError:Undefined不是函数

  3. 3

    未捕获的TypeError:对象函数

  4. 4

    未捕获的TypeError:number不是函数

  5. 5

    未捕获的TypeError:undefined不是jQuery的函数

  6. 6

    Javascript“未捕获的TypeError:对象不是函数”

  7. 7

    未捕获的TypeError:undefined不是函数

  8. 8

    未捕获的TypeError:undefined不是函数-Javascript

  9. 9

    未捕获的TypeError:将JSON对象用于名称时,undefined不是一个函数

  10. 10

    未捕获的TypeError:undefined不是函数

  11. 11

    BootStrap:未捕获的TypeError:$(...)。datetimepicker不是一个函数

  12. 12

    未捕获的TypeError:$(...)。stellar不是函数

  13. 13

    未捕获的TypeError:$ .growl不是函数

  14. 14

    未捕获的typeerror $(...)。swipe不是函数

  15. 15

    未捕获的TypeError:响应不是函数

  16. 16

    未捕获的TypeError:方法不是函数

  17. 17

    未捕获的TypeError:this.transitionTo不是函数

  18. 18

    获取“未捕获的TypeError:$(...)。timeago不是函数”

  19. 19

    未捕获的TypeError:$ .cookie不是Dialog的函数

  20. 20

    未捕获的TypeError:$(…).on不是函数

  21. 21

    未捕获的TypeError:#<Object>不是函数

  22. 22

    jQuery-未捕获的TypeError:$不是函数

  23. 23

    未捕获的TypeError:$(...)。tokenfield不是函数

  24. 24

    未捕获的TypeError:$(this).search不是一个函数

  25. 25

    未捕获的TypeError:$ .ajax(...)。成功不是函数

  26. 26

    另一个:未定义的未捕获的typeerror不是函数

  27. 27

    未捕获的TypeError:将相同代码移至另一个站点时,undefined不是一个函数

  28. 28

    未捕获的TypeError:this.getRouter不是一个函数

  29. 29

    从一个函数返回的数组没有被另一个函数捕获

热门标签

归档