Используйте AJAX для получения массива из запроса базы данных php

Я пытаюсь получить массив из файла php, в котором я делаю запрос к базе данных. Этот массив содержит результаты этого запроса. Но я не могу заставить работать AJAX, я не знаю, как его использовать. Это мой код php

$mysqli = new mysqli($servername, $username, $password, $dbname);

if ($mysqli -> connect_error) {
  die('Connect Error ('.$mysqli -> connect_errno.') '.$mysqli -> connect_error);
}
$result = $mysqli -> query("SELECT * FROM Coordinates");

$coordinates = array();
while ($row = mysqli_fetch_assoc($result))
  $coordinates[] = $row["coordinate1"];
print json_encode($coordinates);
$mysqli -> close();
I have tried multiples approaches for use AJAX This is one of them, but not sure what to write in the data parameter

function getData() {
  console.info("working here");
  jQuery.ajax({
    url : 'getInformation.php',
    type : 'POST',
    data: 'coordinates',
    dataType : 'json',
    success: function(data)
    {
      console.info("working here");
      alert(data[0]);
    },
  });
}

И другой

function getData(){
  var res = new Array();
  jQuery(document).ready(function(){
    jQuery("#previous").click(function(){
      jQuery.getJSON("getInformation.php", function(data) {
        res[0]=data.$coordinates[0];
        jQuery("#result").html(res[0]);
      });
    });
  });
}
Which is the correct way of using AJAX? Also, I am trying of return the array to another method. How can I do that? return data[0]?

Для поддержки данных вашего ajax это будут данные: {serverSideVariablesName: dataObjectYouArePassing},

Ryan Wilson 15.03.2018 18:05
Поведение ключевого слова "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) для оценки ваших знаний,...
0
1
64
2

Ответы 2

$mysqli = new mysqli($servername, $username, $password, $dbname);
if ($mysqli - > connect_error) {
  die('Connect Error ('.$mysqli - > connect_errno.') '.$mysqli - > connect_error);
}
$result = $mysqli - > query("SELECT * FROM Coordinates");
$coordinates = array();
while ($row = mysqli_fetch_assoc($result))
  // $coordinates[] = $row["coordinate1"]; // change it like below
  $coordinates[] = array($row["coordinate1"]); 
print json_encode($coordinates);
$mysqli - > close();

И после этого просто получить его по имени с передачей любых параметров

В ответе ajax

оповещение (данные);

Привет спасибо!! Но у меня все еще возникают проблемы с частью ajax, если я попытаюсь получить результат без каких-либо параметров, у меня есть ошибка, лучший результат, который у меня был, - это получить весь документ php, а не результат, а код в моем документе php

Carlos Andres Cerda Veloz 15.03.2018 20:28

Хорошей практикой является установка заголовка типа содержимого при "повторении" данных JSON:

<?php
header('Content-Type: application/json');
.
.
echo json_encode($data);

При получении данных я бы использовал GET-метод

$.getJSON( "getInformation.php", function( data ) {
    $("#result").html(data.coordinates[0]);
});

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

var globalVar = "";
$.getJSON( "getInformation.php", function( data ) {
   //$("#result").html(data.coordinates[0]);
    globalVar = data; //OR
    myMethod(data);
});

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