Почему я не могу использовать AJAX для публикации переменной JavaScript

Я пытаюсь передать переменные 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;
}

?>

Вы идете на file.phpотдельно, после, отправляя AJAX запрос? Ну нет, на этой странице не будет значения. Откройте инспектор сети инструментов разработчика браузера и вместо этого посмотрите на сетевой запрос AJAX и его ответ.

deceze 18.07.2018 10:42

@deceze, ваша причина работает, но у меня есть: Request Payload: name=Adrian&time=00%3A01%3A13. Мне нужен name=Adrian&time=00:01:13. Как я могу это изменить?

Adrian12 18.07.2018 10:48

@ Adrian12 - Почему вам нужно, чтобы URL-адрес не был закодирован должным образом?

Quentin 18.07.2018 10:50

потому что я хочу передать name=Adrian&time=00:01:13 в mysql с помощью запроса php

Adrian12 18.07.2018 10:52

Значения должны быть правильно закодирован URL. Как они попадают в базу данных - отдельная история. В данный момент непонятно, с какой именно проблемой вы столкнулись.

deceze 18.07.2018 11:23
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
5
64
1

Ответы 1

Одна из самых важных вещей, которые следует помнить об Ajax, - это не заставляет браузер переходить на новую страницу.

Вся суть Ajax заключается в том, что он выполняет HTTP-запрос и вместо того, чтобы делать то, что браузер обычно делает с ответом, делает ответ доступным для JavaScript.


Если вы хотите отобразить ответ на запрос Ajax, вам нужно написать JavaScript, который будет отображать его.

Он будет доступен в переменной response (первый аргумент метода success ... который должен быть свойством объекта, который вы передаете в ajax(), а не свойством объекта data ... так как "ОК" отображается в вашей консоли , Не имею представления).

Затем вы можете добавить его в документ ($(document.body).append(response) в качестве простого примера).


Тем не менее, если вы хотите отобразить его как совершенно новый документ, лучше всего использовать не использовать Ajax в первую очередь.

Создайте форму с данными в ней, добавьте ее в документ, а затем отправьте.

Другие вопросы по теме