JQuery AJAX JSON ошибка - PullRequest
       7

JQuery AJAX JSON ошибка

0 голосов
/ 08 августа 2009

Вот мой объект 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 не является функцией (Это) .text (verbArray [J]) FadeIn (verbTime);. \ П

Я опоздал, пытаясь разгадать это, и подумал, что выкину это из сообщества для понимания.

Спасибо!

1 Ответ

2 голосов
/ 08 августа 2009

Попробуйте $(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);
    }   
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...