将参数添加到Jquery ajax调用

时间:2011-06-13 14:22:10

标签: javascript jquery ajax json

我有这个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视为字符串,但它不起作用。我如何传递变量以便实现目标?

提前致谢!

3 个答案:

答案 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));