u013582748 2021-06-25 15:05 采纳率: 100%
浏览 16
已结题

关于node.js open模块的问题

我有以下server2.js:

const http=require('http');
const mysql=require('mysql')
const co=require("co-mysql");
const fs=require("fs");
const open=require("open");


let server=http.createServer((req,res)=>{
        let arr = new Array();
        let db = mysql.createPool({host:'localhost',user:'root',password:'root',database:'test'});
let db2 = co(db);
db2.query('select * from htmltest20',(err,data)=>{
    if(!err){
    for(let i = 1;i < 3;++i) {
        let aa = JSON.stringify(data[i]);
        let bb = aa.substring(2, aa.length - 1);
        let cc = bb.split(",")[1];
        let url = cc.substring(11, cc.length);
        arr.push(url);
        res.write(url);
     //   res.write("<br><br>");
       // res.end();
    }
      //  res.end();
        const len = arr.length;
        for(let i = 0;i < len;++i){
            arr[i]=arr[i].trim();
            console.log(arr[i]);
            console.log(typeof arr[i])
            open("http://kj.hubind.xyz/");
            open(arr[i]);
        }
    res.end();
}else{
    console.log("database connection error,",err);
}
});
    }
);
server.listen(8087);

以下 是1.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<form action="http://localhost:8087/">
    <input type="submit" value="submit"/><br><br>.
</form>
</body>
</html>

我的问题是:在server2.js中open("http://kj.hubind.xyz/");能够正常打开我想要的网页,便open(arr[i])不能打开,但console.log(arr[i]);我看这个网址是正确的,甚至我把console.log(arr[i]);输出的网址复制到浏览器的地址栏上也能打开,我就怀疑是不是open模块不能使用变量,于是我编了以下 的server3.js:

const http=require('http');
const mysql=require('mysql')
const co=require("co-mysql");
const fs=require("fs");
const open=require("open");


let server=http.createServer((req,res)=>{
        let url = "https://g.ieeod0.com/w/sys_cs.html?c=10120&uid=524714&";
        console.log(typeof url);
        open("http://xshuo.xsfaya.com/channel/10");
        open("http://kj.hubind.xyz/");
        open(url);
    });
server.listen(8089);

以下是2.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<form action="http://localhost:8089/">
    <input type="submit" value="submit"/><br><br>.
</form>
</body>
</html>

一运行server3.js和2.html后 open("http://xshuo.xsfaya.com/channel/10");    open("http://kj.hubind.xyz/");
open(url); });

后这三个网址也能正常打开,说明open模式下也能使用变量,因为open(url);我是使用了变量也能正常打开https://g.ieeod0.com/w/sys_cs.html?c=10120&uid=524714&这个网址,那么为什么server2.js在open模式下使用变量就不能打开网址,请各位高手多多指教和解决方法,谢谢!

  • 写回答

1条回答 默认 最新

  • u013582748 2021-09-12 09:27
    关注

    AAA

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备