未捕获的TypeError:undefined不是ajax调用jQuery中成功处理程序的函数

时间:2014-07-24 08:43:18

标签: jquery ajax

我执行ajax调用并返回正确的打印数据。这是成功处理程序:

success : function(response) {
            if (response.status == 'FAIL') {
            for ( var val in response.errorsMessages) {
                var $errorLabel = $.find('#' + val.toString() + 'ErrorLabel');              
                console.log("$errorLabel=" + $errorLabel);
                $errorLabel.text(response.errorsMessages[val]);
            }
            }
        },

非常奇怪的是找到$errorLabel并且在控制台上我看到了:

$errorLabel=[object HTMLLabelElement]

下一行给出了关于此主题标题的异常。

为什么jQuery方法find运行良好但是jQuery对象上的方法text无法识别?

如果$errorLabel不是jQuery对象那么如何制作呢?

谢谢!

2 个答案:

答案 0 :(得分:2)

只需将其更改为

即可
var $errorLabel = $('#' + val.toString() + 'ErrorLabel'); 

答案 1 :(得分:2)

我相信你的错误是

$.find('#' + val.toString() + 'ErrorLabel');

你正在向jQuery的内置find函数传递一些东西,它返回一个意外的结果,所以$ errorLabel将是一个JavaScript对象,但不是一个jQuery对象,因此它没有{ {1}}方法。 该行应该只是对jQuery构造函数的调用

.text()