[英]How to handle a get request with node.js (express)
我是node.js新手,我正在創建我的第一個大應用程序(我正在使用快遞)。 當用戶使用get請求加載id時,我需要讓我的網頁執行一些javascript畫布繪制,例如
www.mywebsite.com/page?id=22
我知道我可以用一個簡單的方法解決這個問題
var express = require("express");
var app = express();
app.get('handle',function(request,response){
//request.id
});
但我不知道如何使用要求的圖紙來啟動我的網頁。 互聯網上關於express和get的每個教程都解釋了如何處理獲取請求......這個問題是關於“接下來會發生什么?”
重新說明:我不知道如何告訴html頁面“ 你需要從express中繪制與此id相關的內容 ”,然后將該頁面發送回用戶。
您可以從params
獲取id
,然后返回基於該id的響應。
var express = require('express');
var app = express();
app.get("/page/:id",function(request, response){
var id = request.params.id;
// do something with id
// send a response to user based on id
var obj = { id : id, Content : "content " +id };
response.writeHead(200, {"Content-Type": "application/json"});
response.write(JSON.stringify(obj));
});
筆記:
您可以使用/page/:id
制作網址,如www.mywebsite.com/page/22
或www.mywebsite.com/page?id=22
,您可以使用request.params.id
訪問服務器上的ID(輸出: 22)。
通過response
您可以write
對服務器的響應。 在這個例子中,我返回了一個jj 對象 。
在writeHead
200來自狀態,這意味着OK ,而content-type
意味着我返回一個json對象
您可以返回您想要的內容,頁面或其他內容,這只是一個示例(PoC)。
如果要在請求中傳遞多個變量,可以按以下方式傳遞:
var emailVar = "someEmail@gmail.com";
var nameVar = "someName";
var url = `/home?email=${emailVar}&name=${nameVar}`;
//Now make the request.
在后端邏輯中,您可以檢索以下值:
app.get('/home', function(request, response)
{
console.log(request.query.email+" "+request.query.name);
var email = request.query.email;
var name = request.query.name;
response.setHeader('Content-Type', 'application/json');
if(request.query.email)
{
response.send(JSON.stringify({
message: 'Got the email'
}));
}
else
{
response.send(JSON.stringify({
message: 'No email sent'
}));
}
});
此方法對於在后端執行查詢操作很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.