Антон, здравствуйте. Благодарю за участие.
Но Ваша интуиция согласуется с моей собственной. Ощущение, что стучусь не туда, куда думаю. Но причину не нахожу. Код 200 и запись в консоль XHR finished loading: GET
Но передо мной этическая проблема - некорректно занимать двух экспертов параллельно.
Я получил два отзыва на свой запрос. Вы были первый, но в другом меня научили, как надо было делать запрос.
Кажется всё учёл и вот, что я ответил моему другому помощнику .
Сказался недостаток habr-опыта. Хотел избавить экспертов от лишних потерь времени.
Содержание моей работы - динамический сайт для потомков,
Литературный с элементами квеста.
В далёком прошлом я - программист. Но за PHP и JS взялся несколько лет назад.
Стараюсь во всём разбираться сам.
Но девятый десяток - заставляет спешить, поэтому обращаюсь за помощью
(третий раз в жизни, то есть я не зануда и не приставала.)
Вот скрипт, в котором я впервые пытаюсь использовать XMLHttpRequest^
function choiceposyl(RV, nii0, answL)//Запрос серии посылов из словаря. Редакция 20.04.2024.
{'use strict'
bnf = 'fieldheader.choiceposyl. '
let s = ''
if(0) { //Ручной запрос посыла для начальной стадии отладки.
s = prompt(bnf+<?php echo __LINE__;?>+' Запрос посыла вида '+RV+' в строку '+nii0
+'\nОтвет длины '+answL+' [ Вопрос[Атрибуты[Коммент]]]') }
else{//Запрос серии посылов для выбора в формируемый расклад.
const xhr = new XMLHttpRequest();
requestURL = 'getposyls.php?RV='+"'"+RV+"'"
xhr.open('GET', requestURL);//f//xhr.open(method, url[, async[, user[, password]]]), true
xhr.responseType = "text";//ArrayBuffer, Blob, Document, JavaScript Object или DOMString
xhr.onreadystatechange = function() {//Обработчик на событие readystatechange объекта xhr
Чувствую, что дело в последоввательности операторов в JS-скрипте. Но никак не нащупаю верную.
if (xhr.readyState !== 4 || xhr.status !== 200) {
return
}//Всё в порядке, ответ получен и его статус равен 200.
}//onreadystatechange function
//requestURL произведена из getposyls.php.'async'
xhr.send(RV);
const response = xhr.response
if(1)console.log(bnf+<?php echo __LINE__;?>+'\nОтвет из getposyls.php: '+response);//xhr.
}//Запрос серии посылов
/////Выбор одного посыла s из серии сделать отдельной функцией
return s
}//choiceposyl
В консоли: fieldheader.choiceposyl. 392
Ответ из getposyls.php:
oktotvor.php?rejim=2&mkt=2&username=t_vg_vv&setr=test&ifgr=2:378 XHR finished loading: GET "families/getposyls.php?RV=%27..%D0%94%27".
В секции Network :
tposyls.php?RV=%27..%D0%94%27 200 xhr oktotvor.php?rejim=2&mkt=2&username=t_vg_vv&setr=test&ifgr=2:378 772 B 25 ms
getposyls.php?RV=%27..%D0%94%27 200 xhr oktotvor.php?rejim=2&mkt=2&username=t_vg_vv&setr=test&ifgr=2:378 773 B 88 ms
Вы правы. Попробую сформулировать вопрос по-другому.
Предполагаю, что это как-то связано с настройками XML. Но я с XML ещё не разбирался.
Потому, что в разных песочницах, но с одинаковыми версиями PHP, я эту ошибку либо получаю, либо не получаю.
echo '<' . 'кирилица' .>. ' '; // Ok: < кирилица >
echo '<' . 'latinitsa' . > . ' '; // NOk: пустая строка
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Но Ваша интуиция согласуется с моей собственной. Ощущение, что стучусь не туда, куда думаю. Но причину не нахожу. Код 200 и запись в консоль XHR finished loading: GET
Но передо мной этическая проблема - некорректно занимать двух экспертов параллельно.
Я получил два отзыва на свой запрос. Вы были первый, но в другом меня научили, как надо было делать запрос.
Кажется всё учёл и вот, что я ответил моему другому помощнику .
Сказался недостаток habr-опыта. Хотел избавить экспертов от лишних потерь времени.
Содержание моей работы - динамический сайт для потомков,
Литературный с элементами квеста.
В далёком прошлом я - программист. Но за PHP и JS взялся несколько лет назад.
Стараюсь во всём разбираться сам.
Но девятый десяток - заставляет спешить, поэтому обращаюсь за помощью
(третий раз в жизни, то есть я не зануда и не приставала.)
Вот скрипт, в котором я впервые пытаюсь использовать XMLHttpRequest^
function choiceposyl(RV, nii0, answL)//Запрос серии посылов из словаря. Редакция 20.04.2024.
{'use strict'
bnf = 'fieldheader.choiceposyl. '
let s = ''
if(0) { //Ручной запрос посыла для начальной стадии отладки.
s = prompt(bnf+<?php echo __LINE__;?>+' Запрос посыла вида '+RV+' в строку '+nii0
+'\nОтвет длины '+answL+' [ Вопрос[Атрибуты[Коммент]]]') }
else{//Запрос серии посылов для выбора в формируемый расклад.
const xhr = new XMLHttpRequest();
requestURL = 'getposyls.php?RV='+"'"+RV+"'"
xhr.open('GET', requestURL);//f//xhr.open(method, url[, async[, user[, password]]]), true
xhr.responseType = "text";//ArrayBuffer, Blob, Document, JavaScript Object или DOMString
xhr.onreadystatechange = function() {//Обработчик на событие readystatechange объекта xhr
Чувствую, что дело в последоввательности операторов в JS-скрипте. Но никак не нащупаю верную.
if (xhr.readyState !== 4 || xhr.status !== 200) {
return
}//Всё в порядке, ответ получен и его статус равен 200.
}//onreadystatechange function
//requestURL произведена из getposyls.php.'async'
xhr.send(RV);
const response = xhr.response
if(1)console.log(bnf+<?php echo __LINE__;?>+'\nОтвет из getposyls.php: '+response);//xhr.
}//Запрос серии посылов
/////Выбор одного посыла s из серии сделать отдельной функцией
return s
}//choiceposyl
Вот php-скрипт, от которого жду xhr.response :
<?php
print_r($_GET);
if(isset( $_GET[ 'RV' ])){// Не заходит
$RV = $_GET[ 'RV' ];
console.log(__LINE__, " Получен фрагмент регулярного выражения: $RV");
}
$response = 'КОД';
echo $response;
//return $response; //Пробовал
//return json_encode($response); //Пробовал
?>
В консоли: fieldheader.choiceposyl. 392
Ответ из getposyls.php:
oktotvor.php?rejim=2&mkt=2&username=t_vg_vv&setr=test&ifgr=2:378 XHR finished loading: GET "families/getposyls.php?RV=%27..%D0%94%27".
В секции Network :
tposyls.php?RV=%27..%D0%94%27 200 xhr oktotvor.php?rejim=2&mkt=2&username=t_vg_vv&setr=test&ifgr=2:378 772 B 25 ms
getposyls.php?RV=%27..%D0%94%27 200 xhr oktotvor.php?rejim=2&mkt=2&username=t_vg_vv&setr=test&ifgr=2:378 773 B 88 ms
Request headers :
GET /images/cells48/cell01.png HTTP/1.1
Host: families
Connection: keep-alive
Cache-Control: max-age=0
Accept: image/webp,*/*;q=0.8
If-None-Match: W/"210-616c3b0d73dc4"
If-Modified-Since: Tue, 23 Apr 2024 13:40:01 GMT
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36
Referer: families/oktotvor.php?rejim=2&mkt=2&username=t_vg_...
Accept-Encoding: gzip, deflate, sdch
Accept-Language: ru,en-US;q=0.8,en;q=0.6
Cookie: PHPSESSID=1povqth170sf466673vkfs1o73
Response headers :
HTTP/1.1 200 OK
Date: Tue, 23 Apr 2024 14:40:05 GMT
Server: Apache/2.4.16 (Win32)
Last-Modified: Tue, 23 Apr 2024 14:40:05 GMT
ETag: W/"fd-616c487a468cf"
Accept-Ranges: bytes
Content-Length: 253
Keep-Alive: timeout=10, max=99
Connection: Keep-Alive
Content-Type: image/png
Response : // Ничего
Антон, Владимир Трутнев,