Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TwitterJSON调用仅在主页上有效_Javascript_Json_Api_Twitter - Fatal编程技术网

Javascript TwitterJSON调用仅在主页上有效

Javascript TwitterJSON调用仅在主页上有效,javascript,json,api,twitter,Javascript,Json,Api,Twitter,我在我的网站JSON、twitter API和Javascript上显示了一条推文。tweet会显示在我的主页上,但不会显示在任何子页面上。在子页面上,JSON调用出现401(未经授权)错误。有办法解决这个问题吗?这是我的剧本: (function($){ $.fn.tweets = function(options) { $.ajaxSetup({ cache: true }); var defaults = { tweets:

我在我的网站JSON、twitter API和Javascript上显示了一条推文。tweet会显示在我的主页上,但不会显示在任何子页面上。在子页面上,JSON调用出现401(未经授权)错误。有办法解决这个问题吗?这是我的剧本:

(function($){
    $.fn.tweets = function(options) {
        $.ajaxSetup({ cache: true });
        var defaults = {
            tweets: 1,
            before: "<span>",
            after: "</span>"
        };
        var optionsWithDefaults = $.extend(defaults, options);
        return this.each(function() {
            var obj = $(this);
            $.getJSON('http://api.twitter.com/1/statuses/user_timeline.json?callback=?&screen_name='+optionsWithDefaults.username+'&count=' + optionsWithDefaults.tweets,
                function(data) {
                    $.each(data, function(i, tweet) {
                        if(tweet.text !== undefined) {
                            $(obj).append(optionsWithDefaults.before+tweet.text+optionsWithDefaults.after);
                        }
                    });
                }
            );
        });
    };
})(jQuery);
(函数($){
$.fn.tweets=函数(选项){
$.ajaxSetup({cache:true});
var默认值={
推特:1,
在以下日期之前:,
“之后”
};
var optionsWithDefaults=$.extend(默认值,选项);
返回此值。每个(函数(){
var obj=$(本);
$.getJSON('http://api.twitter.com/1/statuses/user_timeline.json?callback=?&screen_name=“+optionsWithDefaults.username+”&count=“+optionsWithDefaults.tweets,
功能(数据){
$.each(数据、功能(i、tweet){
if(tweet.text!==未定义){
$(obj).append(optionsWithDefaults.before+tweet.text+optionsWithDefaults.after);
}
});
}
);
});
};
})(jQuery);

如果Twitter API出现
401未经授权的
HTTP错误,则表示您试图访问API中需要用户身份验证的部分(请参阅)


由于您没有在其他页面中指定不同之处,我猜想您正在尝试请求不同的内容,例如搜索。对于此类请求,您需要获得授权。要了解有关如何授权用户的更多信息,我建议您查看。

如果不知道页面之间的差异,很难说。jQuery是否真的包含在所有页面中?您是否在其他页面上传递了正确的选项?页面之间没有任何不同。是的,jQuery包含在所有页面中。选项不会在页面之间更改,因为脚本在页脚中被调用,而页脚在每个页面上都是相同的。没有什么不同。任何页面上唯一发生的事情就是显示最近的推特。没有搜索或任何其他与API相关的内容。没有任何东西需要授权。@user715564为什么不使用then?因为我不想要嵌入时间线的ui。我所需要做的就是显示tweet的文本。