Node.js Javascript和Express
我试图通过将一个字符串拆分为两个来操纵它 我的jsNode.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
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安装。