2014-09-03 91 views
0

我试图在我的Web应用程序上设置一个搜索按钮,该搜索按钮使用流式API检索具有搜索输入的所有Twitter推文。Twitter stream.on意外令牌E

这是我的客户端代码: 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 /快递)

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); 
    }); 
    }); 
}); 

它适用于我使用搜索按钮两次,但在thir d时间我输入一个搜索它给了我下面的错误信息:提前

[SyntaxError: Unexpected token E] 

感谢您的帮助!

回答

1

Twitter以“超出用户连接限制”消息响应该请求。这就是E的来源。该文本不是有效的JSON对象。