Добавление параметра в вызов ajax Jquery - PullRequest
1 голос
/ 13 июня 2011

У меня есть эта функция 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 ]

2 голосов
/ 13 июня 2011

Попробуйте:

... + this[myVar] + ...

где myVar = 'picture' или любое другое поле, которое вы хотите отобразить.

Это стандартный синтаксис для доступа к именованному свойству объекта, когда само имя является переменной, а не литеральным токеном.

0 голосов
/ 13 июня 2011

Вы хотите, чтобы обратный вызов для параметризации использовал $ .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));
0 голосов
/ 13 июня 2011

Прежде всего, вы должны убедиться, что "picture" или "link" передаются в возвращаемый объект Json.

Затем попробуйте заменить это данными, как в: data.picture или data.link.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...