【问题标题】:Twitter stream.on Unexpected Token ETwitter stream.on 意外的令牌 E
【发布时间】:2014-09-03 00:21:29
【问题描述】:

我正在尝试在我的 Web 应用程序上设置一个搜索按钮,该按钮使用流 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>

搜索.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]

提前感谢您的帮助!

【问题讨论】:

    标签: javascript ajax node.js express twitter-streaming-api


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-03
      • 2017-02-10
      • 2011-05-04
      • 1970-01-01
      • 2021-03-19
      • 2021-07-11
      • 2016-05-03
      • 2018-04-17
      相关资源
      最近更新 更多