2016-09-29 78 views
2
var request = require("request"), 
cheerio = require("cheerio"), 
fs=require("fs"), 
urls , 
url = "http://www.w3schools.com/"; 
request(url, function (error, response, body) { 
if (!error && response.statusCode==200) { 
var $ = cheerio.load(body).html(); 
    var teli = $('a.w3schools-logo').html(); 
    console.log(teli); 
    } 
}); 

我得到错误的

TypeError: $ is not a function 
at Request._callback (C:\Users\AMIT\Desktop\project\demo.js:9:14) 
at Request.self.callback (C:\Users\AMIT\Desktop\project\node_module \request\request.js:187:22) 
at emitTwo (events.js:87:13) 
at Request.emit (events.js:172:7) 
at Request.<anonymous> (C:\Users\AMIT\Desktop\project\node_modules\request\request.js:1048:10) 
at emitOne (events.js:77:13) 
at Request.emit (events.js:169:7) 
at IncomingMessage.<anonymous> (C:\Users\AMIT\Desktop\project\node_modules\request\request.js:969:12) 
at emitNone (events.js:72:20) 
at IncomingMessage.emit (events.js:166:7) 

请帮助我能为这个错误

+0

你是否包括jQuery的身体后html()功能? – Gavin

+0

我安装了jQuery作为npm安装jquery –

回答

3

the cheerio page做,正确的方式来加载它是:

var $ = cheerio.load(body); // <-- note no .html()! 

调用.html()回报体作为一个HTML字符串,这很可能是不是你想要做的。相反,只要放下它即可获得jQuery实例$

0

你需要调用加载如下

var request = require("request"), 
cheerio = require("cheerio"), 
fs=require("fs"), 
urls , 
url = "http://www.w3schools.com/"; 
request(url, function (error, response, body) { 
    if (!error && response.statusCode==200) { 
     var $ = cheerio.load(body); 
     var teli = $('a.w3schools-logo').html(); 
     console.log(teli); 
    } 
}); 
相关问题