我有这个JSON Ajax函数
$.ajax({
url: "?page=" + page,
dataType: "json",
success: function(data) {
$.each(data, function() {
$("#feed").append("<li>" + this.message + "</li>");
});
}
});
但是,我希望能够将变量传递给它,所以this.message也可以是this.image或this.link。我试过这样做。
$.each(data, function() {
$("#feed").append("<li>" + myVar + "</li>");
});
并设置myVar = 'this.picture'
,但是它将myVar视为字符串,但它不起作用。我如何传递变量以便实现目标?
提前致谢!
答案 0 :(得分:2)
尝试:
... + this[myVar] + ...
其中myVar = 'picture'
或其他任何您希望显示的字段。
当名称本身是变量而不是文字标记时,这是访问对象的命名属性的标准语法。
答案 1 :(得分:-1)
首先,您必须确保将“picture”或“link”传递给返回的Json对象。
然后尝试将其替换为数据,如:data.picture或data.link。
答案 2 :(得分:-1)
您希望参数化的回调使用$ .when
使用$.when
var m = $.ajax({
url: "?page=" + page,
dataType: "json"
});
var callback = function(link)
{
return function(data){
alert(link); //Can access data and link here
}
}
$.when(m)
.then(callback(link));