Node.js Javascript和Express

Node.js Javascript和Express,javascript,node.js,express,request,Javascript,Node.js,Express,Request,我试图通过将一个字符串拆分为两个来操纵它 我的js var request = require('request'); var cheerio = require('cheerio'); var href1,href; var str = "https://google.co.in/search?q=okay"+"+google"; request(str, function (error, response, html) { if (!error && response

我试图通过将一个字符串拆分为两个来操纵它

我的js

var request = require('request');
var cheerio = require('cheerio');

var href1,href;
var str = "https://google.co.in/search?q=okay"+"+google";

request(str, function (error, response, html) {
  if (!error && response.statusCode == 200) {
    var $ = cheerio.load(html);
    var a = $('.r a');
    href = a.attr('href');
    href1="https://google.co.in"+href;
      var href


      console.log(href1);

        request(href1, function (error, response, html){

           if (!error && response.statusCode == 200) {
    var $ = cheerio.load(html);
    var a1 = $('ol li a');
    var href2 = a1.attr('href'); 
               var href3 = href2.indexOf("/48");
               var href4=href3.substring(0,20);

           console.log(href4);

           }
        });
  }
});
它在我使用substring函数的行中给出了一个TypeError:

未定义不是一个函数

但是,href3返回一个整数,这很好。所以,我知道href3不是空的或未定义的


如何修复?

您正在尝试从数字调用字符串函数。Href3将不具有substring函数,因为indexOf返回一个数字

该行:

var href4=href3.substring(0,20);
应该是:

 var href4=href2.substring(0,20);

您正在尝试从数字调用字符串函数。Href3将不具有substring函数,因为indexOf返回一个数字

该行:

var href4=href3.substring(0,20);
应该是:

 var href4=href2.substring(0,20);

你能告诉我现在我已经准备好js文件了,express和cheerio模块通过nodejs运行,我如何在互联网上实现这一点?我的意思是,以通常的方式上传HTML、CSS和js,或者我也需要添加node_模块目录。怎么做?这是一个很大的话题。你有几个选择。我认为最简单的方法是使用Heroku/AWS/Azure来开始一个简单的网站解决方案。我会看到的。谢谢。但是您需要node_modules文件夹,因为它为您的应用程序提供了所有依赖项。您可以部署依赖项,也可以获得一个部署进程来在您的服务器上运行npm安装。您是否可以告诉我,现在我已经准备好了js文件,通过nodejs运行express和cheerio模块,我如何在internet上真正实现这一点?我的意思是,上传HTML、CSS和js,以通常的方式,或者我也需要添加node_modules目录。怎么做?这是一个很大的话题。你有几个选择。我认为最简单的方法是使用Heroku/AWS/Azure来开始一个简单的网站解决方案。我会看到的。谢谢。但是您需要node_modules文件夹,因为它为您的应用程序提供了所有依赖项。您可以部署依赖项,也可以获取一个部署进程来在服务器上运行npm安装。