jQuery显示来自JSON feed的推文,在本地不是远程工作?

时间:2012-02-06 03:10:45

标签: jquery json twitter

当我在Coda本地预览时,任何人都知道为什么这段代码有效,但当我将相同的代码上传到我的服务器时,它会停止运作?

<h3>Tweet Query Beta</h3>
<input type="text" id="keyword" val=""/>&nbsp;
<button type="button" id="search">search</button><br />

<div id="feed">&nbsp;</div><!-- feed -->

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script><!-- jquery core -->

<script type="text/javascript">
    $(function(){

        $('input#keyword').focus(function(){

            $('#feed').html(''); //clears results when typing new keyword(s).

        });

        $('button#search').click(function(){

            var keyw = $('input#keyword').val(); //retrieves keyword(s) typed.

            $.getJSON('http://search.twitter.com/search.json?q='+keyw,function(data){ //display JSON feed using keyword(s) typed

                $.each(data.results, function(i,results){

                    content = '<p>&quot;'+results.text+'&quot; -'+results.from_user+'</p>';

                    $(content).appendTo("#feed"); //displays each result inside feed div above.

                });
             });   
        }); 

    });
</script>

链接到服务器上的代码:http://jonathangrover.com/tweetquery.html

提前致谢。我打赌我遗漏了一些简单的事情......

2 个答案:

答案 0 :(得分:0)

我在JavaScript控制台中得到了这个:

XMLHttpRequest cannot load http://search.twitter.com/search.json?q=lkj. Origin http://jonathangrover.com is not allowed by Access-Control-Allow-Origin.

您可能需要查看CORS

答案 1 :(得分:0)

好的,所以我通过改变来实现这个目标:

$.getJSON('http://search.twitter.com/search.json?callback=?&q='
  + keyw,function(d‌​ata){ ... }

注意添加callback=?。根据{{​​3}}添加callback=?,我们告诉getJSON方法请求填充JSONJSONP,以便发送JSON安全地跨域修复CORS问题。

所以要明确添加

callback=?

某处$.getJSON参数。