|
Как сделать ответ json для GET-запросов, данные которого формируются html-страничкой клиен | ☑ | ||
---|---|---|---|---|
0
Caber
13.10.23
✎
09:25
|
Вот такая вот непонятная вереница, которую никто не понял. Объясняю зачем это нужно:
Есть 1С база, которая опрашивает сервер GET-ами. А сервер, который бы формировал ответ - не готов. Вместо него нужно сделать заглушку, которая будет отправлять строку JSON в ответ на запрос. А вот теперь сложность - должна быть страничка для оператора с парой кнопок. В зависимости от нажатий оператором на кнопки, в строке JSON содержимое меняется. Как я эту заглушку хотел сделать: javascript с веб-странички пишет в файл нужное содержимое, а запрос к файлу выполняется обычным GETом. Вот код, который мне нужен и работает на Node JS, а не обычной страничке в браузере. Я не знаю что это такое и как его развернуть в моем случае. function writeTextFile(afilename, output) { var txtFile =new File([""], afilename, {type: "text/plain"}); txtFile.writeln(output); txtFile.close(); } |
|||
1
Caber
13.10.23
✎
07:06
|
Другой вариант вопроса:
Как сделать веб-заглушку вместо полноценной программы, которая будет отвечать на GET-запросы извне. |
|||
2
Valdis2007
13.10.23
✎
07:18
|
(1) размести по адресу заглушки файл index.html
внутри файла подключи js скрипт, который будет отдавать json который тебе надо |
|||
3
Caber
13.10.23
✎
08:32
|
(2) Можно пример кода или способ, как отдавать нужные данные вместо самого файла?
|
|||
4
Caber
13.10.23
✎
08:34
|
т.е. Вместо содержимого файла Index.html.
При get запросе озвращается всегда страничка в виде строки, js не исполняется при этом |
|||
5
OneMan1
13.10.23
✎
08:39
|
https://bottlepy.org/docs/dev/
from bottle import route, run, template @route('/hello/<name>') def index(name): return {"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": "CreateNewDoc"}, {"value": "Open", "onclick": "OpenDoc"}, {"value": "Close", "onclick": "CloseDoc"} ] } }} run(host='localhost', port=8080) |
|||
6
OneMan1
13.10.23
✎
08:40
|
запускается на 15 минут
|
|||
7
vde69
13.10.23
✎
08:51
|
давай по порядку
1. пустой ответ должен формироваться на сервере и файл лежит на сервере 2. js скрипт выполняется на клиенте и не может записать файл на сервер то есть нужна такая логика у оператора на клиенте есть страница, по нажатию он отправляет post запрос на сервер, сервер должен обработать этот пост запрос и заменить определенный файл на сервере на пустышку (или наоборот на нужный) |
|||
8
Valdis2007
13.10.23
✎
09:27
|
(4) При get запросе озвращается всегда страничка в виде строки, js не исполняется при этом ...Это прям что то новое в веб))
|
|||
9
Valdis2007
13.10.23
✎
09:28
|
(3) <!DOCTYPE html>
<html lang="en"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body> <div>...</div> <script> alert("привет") </script> </body> </html> |
|||
10
Valdis2007
13.10.23
✎
09:46
|
(3) пример с запросом файла json
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body> <div>...</div> <script> let url = new URL('http://адрес файла JSON'); // let respons_1c = await fetch(url); //.json() указывает объекту класса response формат, в котором мы хотим получить данные. let arry_obj = await respons_1c.json(); </script> </body> </html> |
|||
11
Caber
13.10.23
✎
11:33
|
(8) Я имею ввиду то, что исполнять js начинает получатель, т.е. браузер. А у меня то получаеть - программный код в 1с.
|
|||
12
Valdis2007
13.10.23
✎
12:42
|
(11) если не охото поднимать Node JS, сделай вместо него http сервис 1с, пусть он json генерит
|
|||
13
Fram
13.10.23
✎
14:50
|
А в чем сложность простенький nodejs сервер поднять?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |