【问题标题】:I'm not able to change h3 from app.js after getting data from api server从 api 服务器获取数据后,我无法从 app.js 更改 h3
【发布时间】:2021-07-30 23:12:29
【问题描述】:

当我从 API 服务器接收数据时,我正在尝试更改 index.html 的元素 h3 index.html的代码

    <form action="/" class="" method="POST">
          <h1 class=""><span class="clr-dark-purple">VPN</span> & <span class="clr-dark-purple">Proxy</span> Detection.</h1>
          <h2>Test to see if an IP address is either a VPN, Proxy, or a TOR node</h2>

          <input type="text" name="ip"  class="css-input" placeholder="Enter IP Address" required autofocus> <br>
          <div class="container-one">
    <button type="submit">
    Test
      <div class="fill-one"></div>
    </button>
  </div>

          <h3></h3>
        </form>

app.js 中的代码

 app.get("/",function(req,res)
{
  res.sendFile(__dirname + "/index.html");
})

app.post("/",function(req,res){
  const apikey = "my-api-key";
  const ip = req.body.ip;

  const url = "https://vpnapi.io/api/" + ip + "?key=" + apikey +"";

  console.log(ip, url);

  https.get(url,function(response)
  {
    console.log(response.statusCode);
    const chunks = [];
    response.on('data', function (chunk) {
     chunks.push(chunk)
   })

   response.on('end', function () {
     const data = Buffer.concat(chunks)
     var deta = JSON.parse(data)
     var vpn = deta.security.vpn;
     var proxy = deta.security.proxy;
     var city = deta.location.city;
     res.write(`<h3><span style="margin-right:1.3em"><span style="color:#301b3f;">VPN:</span> ${vpn}</span><span style="margin-right:1.3em;"><span style="color:#301b3f;">Proxy:</span> ${proxy}</span> <span><span style="color:#301b3f;">City:</span> ${city}</span></h3>
`);

     console.log(vpn,proxy,city);
   })
 })
 });

我无法更改 h3 的内容,求助! 其他一切工作正常。谢谢。

【问题讨论】:

    标签: javascript node.js api express https


    【解决方案1】:

    保持 index.html 不变。

    我已经注释掉了一些代码,因为我没有其中所需的 API 密钥。

    只需将res.write() 替换为res.send()

    app.js

    const express = require('express')
    const app = express()
    const path = require('path')
    const https = require('https');
    
    app.use('/public', express.static(path.join(__dirname, 'static')));
    
    app.get("/", function (req, res) {
        res.sendFile(__dirname + "/index.html");
    })
    
    app.post("/", function (req, res) {
        //const apikey = "my-api-key";
        //const ip = req.body.ip;
    
        // const url = "https://vpnapi.io/api/" + ip + "?key=" + apikey + "";
        const url = "https://vpnapi.io/api/";
    
        //console.log(ip, url);
    
        https.get(url, function (response) {
            console.log(response.statusCode);
            const chunks = [];
            response.on('data', function (chunk) {
                chunks.push(chunk)
            })
    
            response.on('end', function () {
                const data = Buffer.concat(chunks)
                var deta = JSON.parse(data)
                var vpn = deta.security.vpn;
                var proxy = deta.security.proxy;
                var city = deta.location.city;
    
                console.log(vpn, proxy, city);
                res.send(`<h3><span style="margin-right:1.3em"><span style="color:#301b3f;">VPN:</span> ${vpn}</span><span style="margin-right:1.3em;"><span style="color:#301b3f;">Proxy:</span> ${proxy}</span> <span><span style="color:#301b3f;">City:</span> ${city}</span></h3>
                `);
    
            })
        })
    });
    
    const port = process.env.PORT || 5000;
    app.listen(port, () => {
        console.log(`Application running on PORT ${port}`);
    })
    

    【讨论】:

    • 我只想将 index.html 的 h3 更改为适当的值,谢谢您的帮助。
    • 如果解决了您的问题,请将其标记为最佳答案。
    猜你喜欢
    • 1970-01-01
    • 2020-06-14
    • 2013-07-27
    • 2016-08-03
    • 1970-01-01
    • 2021-09-08
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多