2014-09-03 89 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對象。