Итак, я создаю небольшое веб-приложение, которое принимает топи поиска c и делает запрос в Twitter, чтобы извлечь все твиты из топи c, предоставленных пользователем. У меня есть Vuejs интерфейс, который отправляет запрос ax ios на nodejs сервер. На этом nodejs сервере я хочу сделать запрос на вызов в твиттер. Моя проблема очень похожа на Внешние вызовы API с Express, Node.JS и Требуется модуль
Однако решение, предоставленное там, не работает в моем случае. Вот что у меня есть
сервер. js
const http = require('http');
const port = 3007;
const app = require('./index');
const server = http.createServer(app);
server.listen(port);
index. js
const express = require('express');
const router = express.Router();
const cheerio = require('cheerio');
const request = require('request');
router.get('/', function(req, res, next) {
var query = req.body.query
const url = "https://twitter.com/hashtag/" + query + "?src=hash";
request(url, function(err, res, body) {
if(err){
console.log("error: " + err);
} else {
let $ = cheerio.load(body);
$('li.stream-item').each(function(index) {
var name = $(this).find('.fullname').text();
var tweet = $(this).find('p.tweet-text').text();
console.log('user: ' + name);
console.log('tweet: ' + tweet);
});
}
}).pipe(res);
});
Когда выполняется запрос от Vue, эта ошибка генерируется на сервере узла.
Cannot read property 'apply' of undefined
Я не совсем уверен, куда я иду, правильно или неправильно. Я все еще учусь, как все это работает. Если бы кто-нибудь мог указать мне правильное направление, это было бы очень признательно.