@arturka_v_10

Как передать data с формы через serialize() в ajax?

В общем, через свой шаблон запроса ajax пытаюсь отправить данные и получить ответ.
Если вместо dat09 я вставлю {"form":"login_form"} то данные успешно отправятся, обработаются и придет ответ.
А вот если я туда переменную которая делает серриализацию вставлю, то ничего не происходит. Т.е отваливается мой запрос получается.

Код:
$(function(){
let sendApiRequest = (type, uri, $data, cb, cbe) => {
        $.ajax({
            type: type,
            url: uri,
            data: $data,
			//processData: false,
			dataType: "json", // added
			//contentType: false,
			success: cb,
			error: cbe,
        });
    };
	
	
	
$('body').on('submit', 'form:not(.ajax-not)', function (e) {
    e.preventDefault()

	var $_form = $(this).parents("form");
	var dat09 = $_form.serialize();
	//var dsit = new FormData($_form[0]);
	
	console.log("pre send is done !");
	sendApiRequest('post', '/response', dat09, function (cd303) { // если вместо dat09 - {"form":"login_form"} - работает
		
			say = JSON.stringify(cd303);
			console.log("sendApiRequest is => "+say);
	});
	console.log("post send is done !");
	
	});
	
	
});


обработка:
if (isset($_POST['form']) && $_POST['form'] == 'login_form') {
            /*
            if (!$this->checkToken($_POST['token'], 'login_form')) {
                $this->setError($this->errors[$this->lang][1]);
				$this->typeReq = 3;
            }*/
			
			
			$arrInfo=array(
			'test_1' => "10",
			'test_2' => "20",
			'test_3' => "30",
			'other' => "999",
			);
			
			echo json_encode($arrInfo);
			
        }
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@arturka_v_10 Автор вопроса
var $_form = $(_this).parents("form");
нужно было заменить на
var $_form = $(this).closest("form");
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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