Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.06.2018, 18:13
Аватар для mirstiker
Интересующийся
Отправить личное сообщение для mirstiker Посмотреть профиль Найти все сообщения от mirstiker
 
Регистрация: 19.06.2016
Сообщений: 23

Отобразить значения Json
Помогите решить задачу, как передать значения в эту строку кода:
<div  class="widget_shopping_cart_icon" ><i class="wicon fa fa-shopping-bag"></i> <span id="cart-total"><?php echo $text_items; ?></span> </div>

Значения на сервер поступают вот так:
<div class="add-to-cart-wrap" ><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span>><a   onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');" class="add_to_cart_button"><i class="fa fa-cart-plus"></i> Добавить в корзину</a>


Нужно исправить саму функцию,как это сделать не понимаю.
Вот js:
var cart = {
	'add': function(product_id, quantity) {
		$.ajax({
			url: 'index.php?route=checkout/cart/add',
			type: 'post',
			data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
			dataType: 'json',
			beforeSend: function() {
				$('#cart > button').button('loading');
			},
			complete: function() {
				$('#cart > button').button('reset');
			},
			success: function(json) {
				$('.alert, .text-danger').remove();

				if (json['redirect']) {
					location = json['redirect'];
				}

				if (json['success']) {
					$('#content').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>');

					// Need to set timeout otherwise it wont update the total
					setTimeout(function () {
						$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
					}, 100);

					$('html, body').animate({ scrollTop: 0 }, 'slow');

					$('#cart > ul').load('index.php?route=common/cart/info ul li');
				}
			},
			error: function(xhr, ajaxOptions, thrownError) {
				alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
			}
		});
	},
	'update': function(key, quantity) {
		$.ajax({
			url: 'index.php?route=checkout/cart/edit',
			type: 'post',
			data: 'key=' + key + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1),
			dataType: 'json',
			beforeSend: function() {
				$('#cart > button').button('loading');
			},
			complete: function() {
				$('#cart > button').button('reset');
			},
			success: function(json) {
				// Need to set timeout otherwise it wont update the total
				setTimeout(function () {
					$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
				}, 100);

				if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') {
					location = 'index.php?route=checkout/cart';
				} else {
					$('#cart > ul').load('index.php?route=common/cart/info ul li');
				}
			},
			error: function(xhr, ajaxOptions, thrownError) {
				alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
			}
		});
	},
	'remove': function(key) {
		$.ajax({
			url: 'index.php?route=checkout/cart/remove',
			type: 'post',
			data: 'key=' + key,
			dataType: 'json',
			beforeSend: function() {
				$('#cart > button').button('loading');
			},
			complete: function() {
				$('#cart > button').button('reset');
			},
			success: function(json) {
				// Need to set timeout otherwise it wont update the total
				setTimeout(function () {
					$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');
				}, 100);
				
				var now_location = String(document.location.pathname);

				if ((now_location == '/cart/') || (now_location == '/checkout/') || (getURLVar('route') == 'checkout/cart') || (getURLVar('route') == 'checkout/checkout')) {
					location = 'index.php?route=checkout/cart';
				} else {
					$('#cart > ul').load('index.php?route=common/cart/info ul li');
				}
			},
			error: function(xhr, ajaxOptions, thrownError) {
				alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
			}
		});
	}
}

Последний раз редактировалось mirstiker, 24.06.2018 в 18:23.
Ответить с цитированием
  #2 (permalink)  
Старый 24.06.2018, 19:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от mirstiker
Значения на сервер поступают вот так:
Это вывод сервера, а не "поступление" на сервер.
Ответить с цитированием
  #3 (permalink)  
Старый 24.06.2018, 21:04
Аватар для mirstiker
Интересующийся
Отправить личное сообщение для mirstiker Посмотреть профиль Найти все сообщения от mirstiker
 
Регистрация: 19.06.2016
Сообщений: 23

laimas,
в моем случае при нажатии на эту строку :
<a   onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');" class="add_to_cart_button"><i class="fa fa-cart-plus"></i> Добавить в корзину</a>


значение попадает в корзину,но после того как перезагрузишь страницу,ранее выводилось сразу таким способом:
<button type="button" data-toggle="dropdown" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-inverse btn-block btn-lg dropdown-toggle"><i class="fa fa-shopping-cart"></i> <span id="cart-total"><?php echo $text_items; ?></span></button>


Но сейчас меняется шаблон и <button не подходит.
Ответить с цитированием
  #4 (permalink)  
Старый 24.06.2018, 21:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Причем тут шаблон? И первое, и второе, это вывод в браузер, и нечего с клиента в этот вывод вставить нельзя. Я думаю вы и сами понимаете абсурдность этого. Если до вывода то, что было получено запросом от клиента, обработано и вставлено как РНР переменные в вывод, это возможно.

Если речь идет о том как вставить ответ сервера на асинхронный запрос, то приводите результирующий html-код страницы (необходимой ее части) без РНР вставок (его несложно скопировать в отладчике), поясняя что и во что вставить, какие проблемы и т.п.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод значения из JSON с помощью JS Win_D Общие вопросы Javascript 9 15.09.2016 10:15
Значения элементов формы типа Input по нажатию кнопки сохранить в JSON drno-reg Элементы интерфейса 1 22.07.2016 15:15
Отобразить изображение в зависимости от значения переменной snake Javascript под браузер 4 05.12.2013 15:42
JSON - отобразить данные таблицы oracle / mssql / mysql ecivgamer Javascript под браузер 3 14.11.2012 18:17
как отобразить в окне значения счетчика во время выполнения цикла FOR Алекс97 Общие вопросы Javascript 5 06.09.2008 10:36