Получение данных с помощью ajax

121
16 декабря 2020, 22:20

Как сделать загрузку данных через ajax? Мне нужно, чтобы при старте html документа выполнялся ajax запрос на получения нескольких данных и записи их в соответствующие id.

AJAX запрос: (см комментарии)

$(document).ready(function() {
    $.ajax({
      type: POST,
      url: 'php/getData.php',
      data: //что передавать здесь?
      success: function(data) { // и как правильно получить здесь?
        $("#userName").text(data[name]);
        $("#userAge").text(data[age]);
      }
    })
    return false;
});

Как отправить данные $name и $age из getData.php в ajax запрос

<?php
require "db.php";
if (isset($_SESSION['logged_user'])) {
  //Получение данных
  $name = $_SESSION['logged_user']->name;
  $age = $_SESSION['logged_user']->age;
}
else{
  header('location ../login.php');
}
?>

Вот на всякий случай авторизация:

<?php
require "db.php";
$data = $_POST;
$user = R::findOne('users', 'login = ?', array($data['login']));
if ($user) {
  if (password_verify($data['password'], $user->password)) {
    $_SESSION['logged_user'] = $user;
  }
  else {
    echo ('Неверный пароль');
  }
}
?>
Answer 1

Отдать json например

<?php
require "db.php";
header('Content-Type: application/json');
$get_result = ['auth' => false];
if (isset($_SESSION['logged_user'])) {
  //Получение данных
  $name = $_SESSION['logged_user']->name;
  $age = $_SESSION['logged_user']->age;
  $get_result = ['name' => $name, 'age' => $age, 'auth' => true];
}
echo json_encode($get_result);
?>

И принимать соответственно

$(document).ready(function() {
    $.ajax({
      type: GET,
      dataType: 'json',
      url: 'php/getData.php',
      success: function(data) { // и как правильно получить здесь?
        if (data.auth) {
          $("#userName").text(data.name);
          $("#userAge").text(data.age);
        } else {
          window.location = '/login.php';
        }
      }
    })
    return false;
});

Есть ещё короткий вариант записи

$(document).ready(function() {
    $.getJSON('php/getData.php', function(data) {
      if (data.auth) {
        $("#userName").text(data.name);
        $("#userAge").text(data.age);
      } else {
        window.location = '/login.php';
      }
    });
});
READ ALSO
Как прописать условие для modx?

Как прописать условие для modx?

Как можно прописать условие, что если фотографии загружены в блок "фото до/после" то показать блок, а если нет то скрытьВот такой код находится...

137
Ошибка подключение wiremock

Ошибка подключение wiremock

При попытке зупуска сервиса заглушек wiremock, происходит ошибка

122
android тени для customview невыпуклой формы

android тени для customview невыпуклой формы

Я определяю форму для тени моего customview следующим способом:

104