|   |   | 
| 
 | Как сделать ответ 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 сервер поднять?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |