another_dream
@another_dream
Backend-разработчик, Laravel/ZF2/Yii2

Как обработать запрос к серверу с помощью AJAX/jQuery/JS?

Есть форма, "попап". Нужно динамически вытащить из нее параметры input'ов и отправить в скрипт php. Нашел пару примеров, не уверен подходит ли что-либо из найденного в моем случае.
Один из них:
<script> 
            $(function(){
            $('.block__OrderCallPopUp').submit(function(e){
            //отменяем стандартное действие при отправке формы
            e.preventDefault();
            //берем из формы метод передачи данных
            var m_method=$(this).attr('method');
            //получаем адрес скрипта на сервере, куда нужно отправить форму
            var m_action='Block_OrderCall/Send';
            //получаем данные, введенные пользователем в формате input1=value1&input2=value2...,
            //то есть в стандартном формате передачи данных формы
            var m_data=$(this).serialize();
            $.ajax({
            type: m_method,
            url: m_action,
            data: m_data,
            success: function(result){
            $('.block__OrderCallPopUp').html(result);
            }
            });
            });
            });
    </script>
  • Вопрос задан
  • 3106 просмотров
Решения вопроса 3
svd71
@svd71
function MakeRequest(action, data)
{

	lastAction = action;

	frmUM = '/ajaxaction.php?';
	
  var xmlHttp = getXMLHttp();
  
  xmlHttp.onreadystatechange = function()
  {
    if(xmlHttp.readyState == 4)
    {
            	buildTable( xmlHttp.responseXML, action );
    }
  }

  xmlHttp.open("POST", frmUM.action+action+'/', true); 
  xmlHttp.send(data);
  }

function toServer() {
		inpPwd = document.getElementById('inp_pwd');
		pwdTxt = inpPwd.value;
		inpPwd.value = '';

		divId =  document.getElementById('div_id');
		userid = divId.innerHTML;

		MakeRequest('cng_pw', 'id=' + userid + ';new=' + pwdTxt);	
}


функция toServer() находит инпут inp_pwd, берет его значение и посылает в запросе серверу '/ajaxaction.php?id=5&new=*****'.
Ответ написан
Playmore
@Playmore
Опытный разработчик
$.post('/ajax.php', $('#form-id').serialize(), function(response){
console.log(response);
}
Ответ написан
Комментировать
another_dream
@another_dream Автор вопроса
Backend-разработчик, Laravel/ZF2/Yii2
А если Я скажу, что все это должно обращаться к классу? Здесь CMS. И архитектура не позволяет обращаться напрямую к скрипту. Как-то через классы. В классе уже функция, которой нужно передать параметры $_POST'ов
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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