簡體   English   中英

Express節點服務器與其顯示html之間的通信

[英]Communication between an express node server and its displaying html

確實很快,可能已經有人問過這個問題,但是我對術語並不完全清楚,在尋找解決方案時也沒有成功。

我試圖創建一個可以接收獲取和發布請求的簡單Web應用程序。 然后,我想獲取從這些請求中收到的信息,並將其用於顯示在html中的javascript文件中。 我認為使用代碼可能會更清楚。 這是我的app.js:

var express = require('express');
var app = express();
var assert = require('assert');



app.use(express.static('javascript'));
app.get('/', function(req, res) {
    res.render('index.jade');
});

app.listen(3000);

然后,我希望能夠獲取從get或post請求(特別是JSON格式)接收的信息,然后能夠在鏈接到index.jade的javascript中使用它。 為了使問題在index.jade中更加混亂,唯一的一行是:

include map.html

因此,理想情況下,我將能夠將該信息獲取到該html文件中的javascript。

我希望能夠基於頻繁的get和post命令使用javascript來持續不斷地更新map.html。

這可能是一個非常簡單的解決方案,對於一般的Web應用程序編程我還是很陌生,而我一直在努力解決這個問題。 在此先感謝您,並詢問是否需要任何澄清。

我認為您需要了解自己在做什么。 您正在使用node.js創建Web服務器。 Express框架為您簡化了這一過程。 express的官方文檔非常棒。 您應該特別參考鏈接。

現在,在您的應用程序中,您需要為GET和POST請求創建端點。 您已經創建了一個端點“ /”(根位置)來加載主頁,該端點是文件index.jade的內容。 一個小例子是:

 app.get('/json', function (req, res) {
      res.setHeader('Content-Type', 'application/json');
      res.send(JSON.stringify({ a: 1 }));
 });

Jade是可解析為HTML的模板引擎。 您還應該參考其文檔 就像您說的那樣,您不太熟悉這些內容,因此也可以簡單地使用HTML。

此后的任務很簡單。 在JavaScript中,使用ajax調用可以訪問服務器的GET或POST端點並執行所需的操作。

希望能幫助到你!

我得到它的方式是,您希望能夠調用端點(假設/ awesome)傳遞一些信息,然后寫入Javascript文件,然后可以在html中引用該文件。

像下面這樣的東西會在您的公共文件夾中寫入一個main.js文件。 您可以使其隨心所欲地書寫。

var fs = require('fs');
fs.writeFile("/public/main.js", "console.log('Hello!')", function(err) {
if(err) {
    return console.log(err);
}
console.log("The file was saved!");
}); 

然后,您可以在html中引用/public/main.js。

檢查: 在Node.js中寫入文件

如果我誤解了您的意圖,抱歉。 :)

因此,您想連續地查看服務器中的數據,也許您可​​以選擇使用網絡襪http://socket.io/docs/

這樣,您將打開從客戶端到服務器的穩定連接。 如果您要讓其他客戶端完成更新,這是一個很好的方法。

如果要由客戶端觸發更改,則可以使用askaxs調用( http://www.w3schools.com/ajax/ ),如hkasera所述。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM