Прошло некоторое время с тех пор, как я прикасался к jQuery (на самом деле, несколько лет назад), поэтому, пожалуйста, простите за незнание.
Я не могу заставить работать следующий базовый пост jQuery в PHP-скрипт:
<!DOCTYPE html>
<html><body>
<form id="formID">
<input name="name" type="text" id="name">
<input name="email" type="text" id="email">
<input name="mobile" type="text" id="mobile">
<div id="submitButton">Submit</div>
<div id="result"></div>
</form>
<script src="js/jquery-1.11.3.min.js" type="text/javascript"></script>
<script>
$("#submitButton").click(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "/fupload",
/*data: $("#formID").serialize(),*/
data: {name: "bob"},
success: function(resp) {
//$('#result').html(resp);
console.log(resp);
}
});
});
</script>
</body></html>
И скрипт /fupload/index.php:
<?php
$idInfo = "[ " . $_POST['name'] . ':' . $_POST['email'] . ':' . $_POST['mobile'] . " ]";
echo $idInfo;
return;
Переменные PHP $ _POST не определены (согласно выводам консоли). Использование serialize () для фактических данных формы также приводит к тому, что переменные $ _POST не определяются. Если я перейду на метод GET, он будет работать, но мне нужно опубликовать.
Буду признателен за любые указатели на то, какую глупую ошибку я совершаю.
Благодарность
3 ответа
Добавьте /
после /fupload
следующим образом:
url: "/fupload/",
Это правильно запустит ваш код. Если вы не используете /
в конце, в ваш php-скрипт будет отправлен неверный запрос. Поскольку значения почтового запроса также отправляются с использованием строки запроса.
Полный код:
<script>
$("#submitButton").click(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "/fupload/",
/*data: $("#formID").serialize(),*/
data: {name: "bob"},
success: function(resp) {
//$('#result').html(resp);
console.log(resp);
}
});
});
</script>
Настройки ajax должны быть method
, а не type
$.ajax({
method: "POST",
//^^^^^---- here you have defined as type
.......
})
Получить $ _POST этим
$dataString = $_POST['datapost'];
parse_str($dataString, $dataArray); print_r($dataArray);
Похожие вопросы
Связанные вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.