Моя переменная jQuery для PHP пуста при чтении

У меня есть HTML-слайдер под названием myRange, который представляет годы. Я хочу получить значение и распечатать его в этом поле, когда я нажимаю кнопку:

<div id = "test">HELLO</div>

Я прочитал значение в сценарии:

var slider = document.getElementById("myRange");

function post()
{
  var year = slider.value
  $.post('year.php', {slideryear:year}, 
  function(data){
    $("#test").html(data);
  });
}

А это файл year.php:

<?php
    $year = $_POST['slideryear'];
?>

Когда я нажимаю кнопку, чтобы показать число в абзаце id="test", абзац становится пустым ("HELLO" исчезает). Моя первая попытка с PHP, что я делаю не так?

Я работаю на Апаче.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
96
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы сохраняете только значение сообщения в переменной $year, но вы должны вернуть значение в качестве ответа, если хотите получить его в обратном вызове, иначе HELLO будет заменено пустой строкой.

Попробуйте, например:

<?php

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $year = $_POST['slideryear'];
    echo $year;
}

?>

Я думаю, вы имели в виду ==, я пытался, но все равно ничего не появляется, он продолжает оставаться пустым.

Angelo 16.06.2019 21:24

Вы уверены, что у вас есть значение для слайдера? Что вы видите при запуске var slider = document.getElementById("myRange"); console.info(slider.value); Вы видите ошибку в консоли браузера?

The fourth bird 16.06.2019 21:28

Да, ползунок дает правильные значения. Я печатаю их в другом <div>, который не включил в пост. Журнал консоли также показывает их, когда я нажимаю кнопку.

Angelo 16.06.2019 21:32

Можете ли вы проверить асинхронный почтовый вызов year.php в сетевой панели? Что вы видите в ответ? И что такое данные формы?

The fourth bird 16.06.2019 21:34

Вот оно: year.php | 200 | xhr | jquery-3.4.1.js:9837 | 372 B | 5 ms

Angelo 16.06.2019 21:43

Хорошо, я полагаю, вы используете Chrome? Если вы нажмете на имя файла, вы получите более подробную информацию и параметры с вкладками. Вы видите вкладку ответа или/и вкладку заголовков? Там должно быть больше информации о запросе и ответе. Таким образом, вы можете видеть данные, которые отправляются и принимаются. Вы хотите быть уверены, что вы отправляете данные на сервер и что сервер отправляет ответ обратно с данными.

The fourth bird 16.06.2019 21:46

Да, я использую Хром. Итак, данные формы проанализированы: slideryear: 1736 и источник: slideryear=1736

Angelo 16.06.2019 21:55

Хорошо, когда вы нажимаете на вкладку ответа, вы видите значение 1736?

The fourth bird 16.06.2019 21:56

На вкладке ответа year.php я вижу весь код, который вы разместили, все, что находится между <?php?>, включая скобки и вопросительные знаки.

Angelo 16.06.2019 22:04

Похоже, ответ - это сам php-код. Вы уверены, что ваша установка php/apache работает правильно? Я думаю, что если это работает, вы должны получить правильный результат.

The fourth bird 16.06.2019 22:13

Это действительно было проблемой. Я проверил установку, и она не работает должным образом. Теперь переменная читается правильно. Спасибо за пошаговую инструкцию.

Angelo 17.06.2019 13:22

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