Я пытаюсь передать переменные JavaScript в файл PHP с помощью метода публикации AJAX. Моя консоль возвращает: 'ok', но если я ввожу file.php, у меня отображается только белая страница. Почему?
$(".btn_ranking").click(function(e) {
e.preventDefault();
var name = localStorage.getItem('name');
var time = localStorage.getItem('timer_end');
$.ajax({
url: 'php/file.php',
method: 'post',
data: {
name: name,
time: time,
success: function(response) {
console.info('ok');
}
}
});
});
<?php
if (isset($_POST['name'])) {
$name = $_POST['name'];
echo $name;
}
?>
@deceze, ваша причина работает, но у меня есть: Request Payload: name=Adrian&time=00%3A01%3A13. Мне нужен name=Adrian&time=00:01:13. Как я могу это изменить?
@ Adrian12 - Почему вам нужно, чтобы URL-адрес не был закодирован должным образом?
потому что я хочу передать name=Adrian&time=00:01:13 в mysql с помощью запроса php
Значения должны быть правильно закодирован URL. Как они попадают в базу данных - отдельная история. В данный момент непонятно, с какой именно проблемой вы столкнулись.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Одна из самых важных вещей, которые следует помнить об Ajax, - это не заставляет браузер переходить на новую страницу.
Вся суть Ajax заключается в том, что он выполняет HTTP-запрос и вместо того, чтобы делать то, что браузер обычно делает с ответом, делает ответ доступным для JavaScript.
Если вы хотите отобразить ответ на запрос Ajax, вам нужно написать JavaScript, который будет отображать его.
Он будет доступен в переменной response (первый аргумент метода success ... который должен быть свойством объекта, который вы передаете в ajax(), а не свойством объекта data ... так как "ОК" отображается в вашей консоли , Не имею представления).
Затем вы можете добавить его в документ ($(document.body).append(response) в качестве простого примера).
Тем не менее, если вы хотите отобразить его как совершенно новый документ, лучше всего использовать не использовать Ajax в первую очередь.
Создайте форму с данными в ней, добавьте ее в документ, а затем отправьте.
Вы идете на
file.phpотдельно, после, отправляя AJAX запрос? Ну нет, на этой странице не будет значения. Откройте инспектор сети инструментов разработчика браузера и вместо этого посмотрите на сетевой запрос AJAX и его ответ.