JQuery Ajax возвращает неопределенное - PullRequest
0 голосов
/ 15 августа 2010
$('.updateDescriptionProduct').click( function() {
  if ( updateProductDescription(productID, description) == 'true') {
    alert('success!');
  } else {
    alert('did not update');        
  }
});

function updateProductDescription(productID, description) {
  $.ajax({
    url: '/index.php/updateProductDescription',
    global: false,
    type: 'POST',
    data: ({productID: productID, description: description}),
    dataType: 'html',
    async:false,
    success: function(msg){
      alert(msg); 

      return msg;
    }
  });
}

Сама функция говорит true, но мое click событие возвращается как undefined.

1 Ответ

10 голосов
/ 15 августа 2010

return относится к обратному вызову.Попробуйте установить переменную в исходной функции и установить значение в обратном вызове, а затем вернуть его?

function updateProductDescription(productID, description) {
    var ret = false;
    $.ajax({
          url: '/index.php/updateProductDescription',
          global: false,
          type: 'POST',
          data: ({productID: productID, description: description}),
          dataType: 'html',
          async:false,
          success: function(msg){
            ret = msg;
          }
    });
    return ret;
}

Я никогда не делал вызов async, но, похоже, это должно работать.Дайте мне знать, если это не так.

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