【问题标题】:jQuery AJAX json errorjQuery AJAX json 错误
【发布时间】:2009-08-08 12:18:18
【问题描述】:

这是我的 JSON 对象。

{
        "verbs" : [
        "process",
        "refine",
        "define"
        ],
        "adjectives" : [
        "process",
        "audio",
        "language"
        ],
        "subjects" : [
        "process",
        "development",
        "technique"    
            ]
}

这是我通过 jQuery AJAX 方法访问和处理数据的尝试。

jQuery.ajax({
    type : "POST",
    dataType : "json",
    url : "js/tsbtw-object.js",
    success : function(data, statusText){

        var verbArray = data.verbs;

        for(var i = 0; i<verbArray.length; i++){

            var verbTime = Math.floor(Math.random()*1000);

            jQuery("#verb-content").fadeOut(verbTime, function(){
                (this).text(verbArray[i]).fadeIn(verbTime);
            });
        }

    },
    error: function (xhr, ajaxOptions, thrownError){
        alert(xhr.statusText);
        alert(thrownError);
    }   
});

我在 FireBug 控制台中收到两个错误。

标签无效 “动词”:[\n

this.text 不是函数 (this).text(verbArray[j]).fadeIn(verbTime);\n

我想解决这个问题的时候起得很晚,我想我会把它踢出社区以获得洞察力。

谢谢!

【问题讨论】:

    标签: jquery ajax json


    【解决方案1】:

    尝试$(this).text 而不是(this).text。另请注意,由于您在 ajax 回调中,this 指向 ajax 请求的选项,因此可能未定义 text 函数。相反,您可以尝试:

    var _this = this;
    jQuery.ajax({
        type : "POST",
        dataType : "json",
        url : "js/tsbtw-object.js",
        success : function(data, statusText){
            var verbArray = data.verbs;
            for(var i = 0; i<verbArray.length; i++){
                var verbTime = Math.floor(Math.random()*1000);
                jQuery("#verb-content").fadeOut(verbTime, function(){
                        $(_this).text(verbArray[i]).fadeIn(verbTime);
                });
            }
        },
        error: function (xhr, ajaxOptions, thrownError) {
            alert(xhr.statusText);
            alert(thrownError);
        }   
    });
    

    【讨论】:

    • 不,在这种情况下, $(this) 指向 $('#verb-content') ,而不是 ajax 请求的选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 2012-10-13
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多