我正在尝试在我的网络应用程序上设置一个搜索按钮,该搜索按钮使用流媒体API检索所有Twitter推文和搜索输入。
这是我的客户端代码: index.ejs
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input class="form-control" id="searchValue" placeholder="Search" type="text">
<button type="submit" class="btn btn-success" id="searchButton">
<span class="glyphicon glyphicon-search"></span>
</button>
</div>
</form>
search.js
$(document).ready(function() {
$("#searchButton").click(function(e) {
e.preventDefault();
var searchValue = $("#searchValue").val();
$.ajax({
url: "/submit",
type: "POST",
data: {
searchValue: searchValue
}
});
});
});
最后我的服务器端代码(使用node.js / express)
var util = require('util'),
twitter = require('twitter');
var twit = new twitter({
consumer_key: '',
consumer_secret: '',
access_token_key: '',
access_token_secret: ''
});
router.post('/submit', function (req, res) {
twit.stream('statuses/filter', {
'track': [req.body.searchValue]
}, function (stream) {
stream.on('data', function (tweets) {
var tweet = tweets.text;
});
stream.on('error', function (err) {
console.log(err);
});
});
});
当我使用搜索按钮两次时它会起作用,但是在我第三次输入搜索时它会给我以下错误消息:
[SyntaxError: Unexpected token E]
提前感谢您的帮助!
答案 0 :(得分:1)
Twitter正在使用“超出用户连接限制”消息来响应请求。这就是E的来源。该文本不是有效的JSON对象。