jQuery AJAX json错误

这是我的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

我试图解决这个问题的时间相当晚,并且我认为我会把它推出社区以获得洞察力。

谢谢!

尝试$(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