Получение данных функции jQuery?

Здравствуйте!
Помогите разобраться с функцией, имею:

site.get_discount_price = function(discount_id) {

		return jQuery.ajax({
		url: '/test.php/' + discount_id + '.json',
		dataType: 'json',
		success: function (data) {
			return data.summa_vozvrata;
		}

	});
}

И далее мне требуется получить значение функции site.get_discount_price().
Пробую так:

var discr_price = site.get_discount_price(discount_id);
console.log(discr_price);


В консоли получаю почему то полностью объект, а не значение.
Подскажите что не так?
  • Вопрос задан
  • 434 просмотра
Решения вопроса 2
miraage
@miraage
Старый прогер
site.get_discount_price(discount_id).done(function(data) {
  var discr_price = data.summa_vozvrata;
  console.log(discr_price);
});

// EDIT

site.get_discount_price = function(discount_id) {
    var result;
    
    jQuery.ajax({
        url: '/test.php/' + discount_id + '.json',
        dataType: 'json',
        async: false,
        success: function (data) {
            result = data.summa_vozvrata;
        }
    });
    
    return result;
}
Ответ написан
mlnkv
@mlnkv
JavaScript Developer
site.get_discount_price = function(discount_id, callback) {
  jQuery.ajax({
    url: '/test.php/' + discount_id + '.json',
    dataType: 'json',
    success: function (data) {
      if (callback) callback(data.summa_vozvrata);
    }
  });
}

/* ... */

site.get_discount_price(discount_id, function(summa) {
  /* и уже здесь мы работаем с переменной summa */ 
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Ajax запросы выполняются асинхронно.
попробуйте так
site.get_discount_price = function(discount_id) {
    jQuery.ajax({
    url: '/test.php/' + discount_id + '.json',
    dataType: 'json',
    success: function (data) {
      console.log(data.summa_vozvrata);
    }

  });
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы