• Как передать переменную из js в php?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Непонятно — вы отправляете id в wiz.php, этот скрипт формирует и присылает назад данные, а вы их хотите обратно на сервер? Зачем вам AJAX, если вы можете по id все данные получить прямо на сервере?

    Update: После натужных попыток понять, кажется понял

    CSS
    .item{
    	position:relative;
    }


    PHP
    Цикл построения начался
    <li data-id="<?php echo (string)$obj['_id']; ?>" data-type="item" class="item">...</li>
    Цикл построения закончился
    
    <div id="createdate" data-type="popup">
    	<div class="content"></div>
    	<button type="button" data-action="send">Залайкать</button>
    </div>


    JS
    $(function () {
    	var $popup = $('#createdate'),
    		stop;
    
    	$popup.data('content', $popup.children('.content'));
    	$(document)
    	.on('click', '[data-type="item"][data-id]', function () {
    		if (stop) {
    			return;
    		}
    
    		var $item = $(this),
    			id = $item.data('id');
    
    		$.ajax({
    			type: 'POST',
    			url: 'getObjectInfo.php',
    			data: 'id=' + id,
    			timeout: 5000,
    			beforeSend: function(data) {
    				stop = true;
    				$item.addClass('loading');
    			},
    			success: function(data) {
    				$popup
    					.data('id', id)
    					.data('content').html(data);
    				stop = false;
    				$item.removeClass('loading');
    			},
    			error: function() {
    				//Не забываем про ошибки
    				stop = false;
    				$item.removeClass('loading');
    			}
    		});
    	})
    	.on('click', '[data-action="send"]', function () {
    		if (stop) {
    			return;
    		}
    
    		var $parent = $(this).closest('[data-type="popup"]'),
    			params = {
    				id = $parent.data('id')
    				//Тут собираем изменённые данные
    			};
    
    		$.ajax({
    			type: 'POST',
    			url: 'setLike.php',
    			data: $.params(params),
    			timeout: 5000,
    			beforeSend: function(data) {
    				stop = true;
    				$parent.addClass('loading');
    			},
    			success: function(data) {
    				//Удачно залайкали
    				stop = false;
    				$parent.removeClass('loading');
    			},
    			error: function() {
    				//Не забываем про ошибки
    				stop = false;
    				$parent.removeClass('loading');
    			}
    		});
    	});
    });
    Ответ написан
    4 комментария
  • Что будет правильно использовать PHP или jquery(AJAX)?

    Scorpi
    @Scorpi
    Хочу суп, что лучше, вода или овощи?
    Ответ написан
    Комментировать