Серверная сторона отправляет информацию на vanilla HTML - PullRequest
0 голосов
/ 31 марта 2020

Можно ли отправлять информацию со стороны сервера на сторону клиента, как если бы вы использовали Pug или E JS, но без движка просмотра?

Сейчас я использую запросы XHTTP для доступа к данным, но это было бы намного проще не использовать его так много.

function getAllBears(id){
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("allBear").innerHTML = this.responseText;
        }
    };
    xhttp.open("GET", "allBears", true);
    xhttp.send();
}

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Используйте ваш javascript в коде html, т.е. в строке javascript, как показано ниже

<html>
<head>
</head>
<body>
    <p>use this code </p>
    <script>
        function getAllBears(id){
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("allBear").innerHTML = this.responseText;
        }
    };
    xhttp.open("GET", "allBears", true);
    xhttp.send();
}
    </script>
</body>
</html>
0 голосов
/ 31 марта 2020

Вы можете вставить тег сценария в HTML и записать в строку переменную, имеющуюся на стороне сервера, а затем прочитать сериализованную глобальную переменную в окне.

response.body = ('

<html>
<head>
...
</head>
<body>
    <p>text...</p>
    <script>
        window.bar = @@@
    </script>
</body>
</html>

'. Replace (@@@, JSON .stringify (bar))

Будьте осторожны, что некоторые шаблоны / символы должны быть заменены в результате JSON.stringify, гораздо более безопасный метод следует:

function toJSONSafely (obj: any) {
    return JSON.stringify(obj)
        .replace(/\u2028/g, '\\u2028')
        .replace(/\u2029/g, '\\u2029')
        .replace(/<\/script>/g, '<\\/script>')
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...