@DixFrey

Как сделать отправку формы через ajax без удаления post?

Всем привет! Есть страница на которой есть форма которая отправляется через ajax
Форма:
<form method="post" action="javascript:void(null);" onsubmit="stGood()" id="genSteam">
    			<table>
    				<tbody>
    					<tr>
    						<th><span>Введите заголовок: </span><br><input type="text" size="30" name="stHeader" id="stHeader"></th>
    					</tr>
    					<tr>
    						<th><span>Введите описание: </span><br><input type="text" size="30" name="stDes" id="stDes"></th>
    					</tr>
    					<tr>
    						<th><span>Выберите картинку: </span><br><span class="fileee"><input type="file" name="stImage" id="stImage"></span></th>
    					</tr>
    					<tr>
    						<th><input type="submit" name="sand" value="Создать!" id="done"><br><br></th>
    					</tr>
    				</tbody>
    			</table>
    		</form>

Ajax:
function stGood() {
		var msg = $('#genSteam').serialize();
		$.ajax({
			type: 'POST',
			url: 'BDsteam.php',
			data: msg,
			success: function() {
				console.log("SECCESS");
				window.location.replace("http://localhost/BDsteam.php");
			},
			error: function() {
				console.log("ERROR");
			}
		});
	}

И когда пытаюсь вывести print_r($_POST); на странице localhost/BDsteam.php то массив пустой, как это исправить?
Так же пробовал var a = $_POST['stHeader']; переменная a тоже пустая...
  • Вопрос задан
  • 329 просмотров
Пригласить эксперта
Ответы на вопрос 4
зачем ты делаешь обработку формы аяксом, если потом пишешь
window.location.replace("http://localhost/BDsteam.php");

?

Предполагаю, что на print_r ты смотришь уже после этого самого реплейса, при котором запрос проходит методом GET. Не удивительно, что $_POST массив пуст.

Если я неправ, расскажи подробней
Ответ написан
попробуйте так
data: {data: msg},
Ответ написан
ты отправляешь запрос аяксом, он отображается в fireBug консоли. Вот там и можно посмотреть что на сервер летит(вкладка post). Если на сервер ниче не уходит то это ошибка отправки на стороне браузера
Ответ написан
Комментировать
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Слать обычным сабмитом на урл, куда редиректишься, событие сабмит перехватывать и делать проверку обычными if, если поля заполнены верно - возвращать true, иначе false. В общем как Роман Макаров написал. Тут AJAX вообще никаким боком не нужен...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
16 апр. 2024, в 14:23
7000 руб./за проект
16 апр. 2024, в 14:20
500 руб./за проект
16 апр. 2024, в 14:03
5000 руб./за проект