簡體   English   中英

如何使用node.js處理get請求(快速)

[英]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));
});

筆記:

  1. 您可以使用/page/:id制作網址,如www.mywebsite.com/page/22www.mywebsite.com/page?id=22 ,您可以使用request.params.id訪問服務器上的ID(輸出: 22)。

  2. 通過response您可以write對服務器的響應。 在這個例子中,我返回了一個jj 對象

  3. writeHead 200來自狀態,這意味着OK ,而content-type意味着我返回一個json對象

  4. 您可以返回您想要的內容,頁面或其他內容,這只是一個示例(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.

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