📜  如何在 ExpressJS 路由器 URL 请求中保留特殊字符?

📅  最后修改于: 2022-05-13 01:56:50.426000             🧑  作者: Mango

如何在 ExpressJS 路由器 URL 请求中保留特殊字符?

有一些特殊字符可能用于其他事情,而不仅仅是显示在 URL 中。如果我们想在 URL 中使用特殊字符,我们需要对它们进行编码。下表显示了每个特殊字符的编码值。

我们也可以使用一个名为encodeURIComponent(“a+b!c+d”)的方法

设置环境和执行:

前端:

  • 第 1 步:创建 HTML 文件,并粘贴以下 UI 代码。

    index.html
    
    
        
            Page Title
        
        
            

    Welcome To GFG

                                      


    Javascript
    let encode = () => {
        let input = document.getElementById('inp');
        let url = input.value;
          
        url = encodeURIComponent(url);
          
        window.location.href = `http://localhost:5000/search?key=${url}`;
    }


    index.js
    const express = require("express");
      
    const app = express();
      
    // Start server on port 5000
    app.listen(5000, () => {
      console.log(`Server is up and running on 5000 ...`);
    });
      
    app.get("/search", (req, res) => {
        res.send(req.query.key);
      
    });


  • 第二步:创建JS文件,粘贴以下代码。

    Javascript

    let encode = () => {
        let input = document.getElementById('inp');
        let url = input.value;
          
        url = encodeURIComponent(url);
          
        window.location.href = `http://localhost:5000/search?key=${url}`;
    }
    
  • 输出:运行 index.html 文件,输出将

后端:

  • 第一步:初始化 node.js 项目

    npm init
  • 第二步:安装所需模块

    npm install express
  • 第 3 步: index.js 文件中的代码

    index.js

    const express = require("express");
      
    const app = express();
      
    // Start server on port 5000
    app.listen(5000, () => {
      console.log(`Server is up and running on 5000 ...`);
    });
      
    app.get("/search", (req, res) => {
        res.send(req.query.key);
      
    });
    
  • 第 4 步:运行服务器节点 index.js。

输出:

  • 用户puttong提交值:
  • 获取值后: