Показать сообщение отдельно
  #1 (permalink)  
Старый 03.02.2018, 16:54
Новичок на форуме
Отправить личное сообщение для kenasv Посмотреть профиль Найти все сообщения от kenasv
 
Регистрация: 03.02.2018
Сообщений: 1

XMLHttpRequest передача одного значения
Front-end: html страничка с JS. Необходимо чтобы пользователь ввел данные. Фактически строка "008" или "909" (ID в базе данных). ответ от сервера в JSON. Вот такого вида

{"ID":"107","Diapazon":"vse","Adres":"ulKirova","I nfrastructura":"DOM","Prinadlegnost":"RR","Dostup" :"svobodnue","Kluch":"universalnii","Aparatnaa":"2 ","AD":"NO","Contact":"NO","WGS":"65.99 40.778","Primechanie":"nich"}

Ответ надо обработать и вывести в виде таблицы (количество столбцов 2, строк столько же сколько параметров JSON, т.е. 12).

back-end: LAMP. PHP скрипт "cod.php" обрабатывает запрос по переданному значению ID.

<?php
require_once 'connection.php'; // подключаем скрипт
 
// подключаемся к серверу
$link = mysqli_connect($host, $user, $password, $database) 
    or die("Ошибка " . mysqli_error($link));
 
$ID= $_REQUEST[ID];

// выполняем операции с базой данных
$query ="SELECT * FROM `Client` WHERE ID= $ID";
$result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link)); 
//if($result)
//{
//    echo "Выполнение запроса прошло успешно";
//}




if (mysqli_num_rows($result) > 0) 
{
	while($row=mysqli_fetch_array($result))
	{
		// заносим данне в массив
    	$client[ID] = $row[ID];
		$client[Surname] = $row[Surname];
		$client[Name] = $row[Name];
		$client[Middlename] = $row[Middlename];
		
	}
}
else
{
$client[Surname] = 'net dannux';
$client[Name] = 'net dannux';
$client[Middlename] =  'net dannux';
}

echo (json_encode($client));

 
// закрываем подключение
mysqli_close($link);
?>


Вопрос в том каким способом передать из JS то самое значение ID? XMLHttpRequest? но вот какого типа именно? Если POST, то потребуется ли переделка серверной части PHP? Я так понимаю, что проще передать через GET, но в примерах не увидел как передается параметр.

https://learn.javascript.ru/ajax-xmlhttprequest
var xhr = new XMLHttpRequest();

xhr.open('GET', '/my/url', true);

xhr.send();

xhr.onreadystatechange = function() {
  if (this.readyState != 4) return;

  // по окончании запроса доступны:
  // status, statusText
  // responseText, responseXML (при content-type: text/xml)

  if (this.status != 200) {
    // обработать ошибку
    alert( 'ошибка: ' + (this.status ? this.statusText : 'запрос не удался') );
    return;
  }

  // получить результат из this.responseText или this.responseXML
}


xhr.open('GET', '/my/url', true); --- тут как то в URL передавать переменную с ID?
Ответить с цитированием