У меня есть PHP-файл test.php, в котором есть простая ссылка, которая после нажатия вызывает функцию AJAX для отправки данных в качестве параметров POST в другой файл testPHP.php.Затем второй файл получает параметры POST от вызова AJAX, а затем оповещает содержимое в массиве $ _POST.Проблема, с которой я сталкиваюсь, заключается в том, что во втором файле массив $ _POST пуст (я проверил это с помощью print_r ($ _ POST)), поэтому я думаю, что данные не прошли.Это 2 файла:
test.php
<a id="link" role="button" href="testPHP.php">Test</a>
<script type="text/javascript">
$("#link").click(function(e) {
e.preventDefault();
alert('function entered');
$.ajax({
url: "testPHP.php",
type: "POST",
data: {
parameter1: 'test',
parameter2: 'test2'},
success: function(msg) {
alert('wow' + msg);
}
});
alert('function end');
document.getElementById('#link').setAttribute('href','testPHP.php');
});
testPHP.php
if(isset($_GET))
{
echo "<script>alert('GET is there');</script>";
print_r($_GET);
}
if(isset($_POST))
{
echo "<script>alert('POST is there')</script>";
print_r($_POST);
}
if(isset($_POST['parameter1']))
{
echo "<script>alert('$_POST is set')</script>";
header('Location: HomePage.php');
}
else
{
echo "<script>alert('No post variable set')</script>";
}
Пока я пытался отправить сообщение УСПЕХ, еслиВызов AJAX был успешно выполнен, и он предупреждает меня об успехе.Я также проверил, чтобы увидеть содержимое массива $ _POST во 2-м файле, чтобы увидеть, получаю ли я данные в формате, отличном от запроса POST (например, строку, которую, возможно, придется взорвать, чтобы получить содержимое), ноМассив $ _POST выходит пустым.Это вывод, который я получаю, когда он перенаправляет на 2-ю страницу: Array () Array () Массивы $ _POST и $ _GET (для целей тестирования) появляются пустыми.
Я также просмотрел документацию AJAX, но не могу заставить эту простую передачу данных POST работать.Может кто-нибудь помочь мне с этой проблемой, чтобы я мог понять, как правильно отправлять параметры POST и получать данные в строки $ _POST ['parameter1'] и $ _POST ['parameter2'], чтобы я мог обрабатывать данные дальше.
Примечание : Я использовал метод POST FORM с использованием скрытых элементов формы, и он отлично работает, но я хочу попробовать этот подход, чтобы лучше понять, как работает AJAX.