оператор if / else внутри .ajax - PullRequest
0 голосов
/ 18 февраля 2012

Допустим, у меня есть этот код, который получает последние сообщения через ajax:

  $.ajax({
    url: loadmore,
    data: {lastid: lastid,mode:'latest'},
    dataType: 'json',
    type: 'POST',
    timeout: 10000,
    success: function(json){
      //some code
    },
    error: function(jqXHR, textStatus, errorThrown){
      //some code
    }
  });

Как изменить содержание данных? Вот моя попытка, но что-то не получилось.

  $.ajax({
    url: loadmore,
    if($('.postlist').hasClass('best'))
      data: {lastrank: lastrank,mode: 'best'},
    else
      data: {lastid: lastid,mode:'latest'},
    dataType: 'json',
    type: 'POST',
    timeout: 10000,
    success: function(json){
      //some code
    },
    error: function(jqXHR, textStatus, errorThrown){
      //some code
    }
  });

Ответы [ 2 ]

5 голосов
/ 18 февраля 2012

Тернарный оператор:

 $.ajax({
    url: loadmore,
    data: ($('.postlist').hasClass('best') ?
      {lastrank: lastrank,mode: 'best'} :
      {lastid: lastid,mode:'latest'}),
    dataType: 'json',
    type: 'POST',
    timeout: 10000,
    success: function(json){
      //some code
    },
    error: function(jqXHR, textStatus, errorThrown){
      //some code
    }
  });
4 голосов
/ 18 февраля 2012

Вы можете использовать оператор?: (Троичный оператор):

data: ($('.postlist').hasClass('best')) ?
      {lastrank: lastrank,mode: 'best'} : 
      {lastid: lastid,mode:'latest'},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...