这是我的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控制台中收到两个错误。
标签"verbs“无效:[\n
this.text不是函数(this).text(verbArrayj).fadeIn(verbTime);\n
我很晚才起床,试图弄清楚这个问题,我想我应该把它踢出社区,以便获得洞察力。
谢谢!
发布于 2009-08-08 12:22:26
尝试使用$(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);
}
});https://stackoverflow.com/questions/1248730
复制相似问题