В общем написал скрипт который собирает все введенное из формы, и посылает данные в PHP. Но тут проблема массив $_POST пуст.
пользуюсь jquery-3.2.1.js.
вот сам скрипт и скрин.
$(function(){
var button=$("button");
button.click( function (){
var data = $("form").serializeArray();
$.ajax({
type: "POST",
url: "registration.php",
data: {'data':data},
success: function () {
alert(data);
console.log(data);
},
});
});
});
echo "<pre>";
var_dump( $_POST );
echo "</pre>";
В общем в консоли есть объект, а в PHP в массиве пост пусто. Что я делаю не так? Кто знает подскажите?
данные принялись но ка ктогда дальше с ними работать если они сериализованными приходят?????? По отдельности понятно. А вот сериализованными?
Одностраничный пример:
<?php
if(!empty($_POST)){
$data = $_POST;
var_dump($data);
$name = $data['name'];
$other = $data['other'];
var_dump($name, $other);
return;
}
?>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var form = {'name':'some name', 'other':'data'};//$("form *").serialize();
$.ajax({
type: "POST",
url: "registration.php",
data: form,
success: function (result) {
console.log(result);
},
});
</script>
</head>
<body>Page opened</body>
</html>
success: function (result) {
- в переменной result
вы получите то что ответит php на ваш ajax запрос.Вы делаете два запроса к registration.php - первый раз, когда просто загружаете страницу, и второй раз, когда отправляете Ajax-запрос.
В первом случае браузер, как обычно, отправляет GET-запрос, чтобы получить содержимое всей страницы. Во втором он асинхронно отправляет POST-запрос с полями вашей формы.
Ваша проблема заключается в том, что вы смотрите на результат первого запроса - то, что браузер получает в ответ на GET-запрос. Для того, чтобы получить ответ на второй вопрос, используйте callback-функцию success() в вашем коде:
success: function (response) {
console.log(response);
}
Эта функция вызывается при успешной отправке данных Ajax-запросом, и содержит строку с ответом сервера.
Чтобы в следующий раз не запутаться, я бы посоветовал сделать так, чтобы сервер не выводил содержимое $_POST, если это обычный GET-запрос, или отделил скрипт, который принимает POST-запрос, от скрипта, который показывает форму.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Заливается svg градиентом прекрасно в chrome,в firefox не работает, пишет не найдено
http://prntscrcom/gdycsc подскажите как можно сверстать, чтоб элементы в строке всегда растягивались на всю ширину