@Jony1337

Почему не работает вывод и редирект в js?

Привет всем
есть такой кодик
<script type='text/javascript'>
$( document ).ready(function() {
    $("#btn").click(
		function(){
			sendAjaxForm('result_form', 'ajax_form', 'ajax.php');
			return false; 
		}
	);
});
 
function sendAjaxForm(result_form, ajax_form, url) {
    jQuery.ajax({
        url:     url, 
        type:     "POST", 
        dataType: "html", 
        data: jQuery("#"+ajax_form).serialize(),  
        success: function(response) { 
        	result = jQuery.parseJSON(response);

			window.location="http://www.tutorialspoint.com/index.php?id=".result.name;
    	},
    	error: function(response) { 
    		document.getElementById(result_form).innerHTML = "Error.";
    	}
 	});
}
</script>

почему не происходит редирект после получения данных из обработчика ajax.php ?
  • Вопрос задан
  • 437 просмотров
Пригласить эксперта
Ответы на вопрос 2
archakov06
@archakov06
Frontend-разработчик (ReactJS)
window.location="http://www.tutorialspoint.com/index.php?id=".result.name;
на
window.location="http://www.tutorialspoint.com/index.php?id="+result+name;

В JS конкатенация производится символов +. Но и то не факт, что код заработает. Надо еще проверить на другие ошибки, смотрите в консоли
Ответ написан
Комментировать
Bowen
@Bowen
Японский бог
$(function() {
	var $btn = $('#btn'),
		$form = $('#ajax_form'),
		$resultForm = $('#result_form');
	$btn.on('click', function() {
		console.log('click');
		var formData = $form.serialize();
		sendAjaxForm(formData);
	});
});

function getLink(id) {
	return 'http://www.tutorialspoint.com/index.php?id=' + id;
}

function _success(res) {
	var data = $.parseJSON(res);
	console.log(data);
	return window.location = getLink(data.name);
}

function _error(res) {
	return $resultForm.html('Error.');
}

function sendAjaxForm(data) {
	$.ajax({
		url: '/ajax.php',
		type: 'POST',
		dataType: 'json',
		data: data,
		success: _success,
		error: _error
	});
	return false;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы