【问题标题】:Jquery Ajax 401 response using Twitter API使用 Twitter API 的 Jquery Ajax 401 响应
【发布时间】:2017-03-15 07:32:54
【问题描述】:

我们正在使用邮递员发送请求,其中包含正确的授权参数和我们的访问密钥,该密钥返回我们正在寻找的 JSON,但是在我们的 javascript 中,我们尝试使用 ajax 和 jsonp 发送请求,但得到了 401尝试这样做时出现响应错误。这是我们的代码。

shopButton.click(() => {
            // The getJSON function initiates a connection to the web service.
            $.ajax({
                url: 'https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=adidasalerts&count=3',
                dataType: 'jsonp',
                headers: {
                    'Authorization':'Bearer REDACTED',
                }
                success: function(dataWeGotViaJsonp){
                    console.log(dataWeGotViaJsonp)
                }
            });
        });

我们知道我们的访问令牌有效,因为我们可以使用 Postman 发送请求。有没有人有任何想法?在我们尝试使用 $.getJSON 之前,我们不断收到跨域域错误。

【问题讨论】:

    标签: javascript jquery json ajax twitter


    【解决方案1】:

    jquery ajax 不理解属性 Authorization 的含义 - 您需要使用 headers 属性或 beforeSend 回调添加 Authorization 标头以设置标头 - 请参阅 documentation

    $.ajax({
        headers: {Authorization: 'Bearer REDACTED'},
        url: 'https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=adidasalerts&count=3',
        dataType: 'jsonp',
        success: function (dataWeGotViaJsonp) {
            console.log(dataWeGotViaJsonp)
        }
    });
    

    【讨论】:

    • 我们尝试添加 headers 属性,但我们的调用仍然不起作用。环顾四周,这似乎是不可能的。我已经用我们尝试过的方法更新了我们的代码。但是邮递员仍然可以使用相同的标题。
    • 评论看不懂
    • 很抱歉在我完成编辑之前保存的评论。再次检查。
    • 您确定需要使用 jsonp - 使用 json 时会出现 CORS 错误吗? (不是 $.getJSON,而是 dataType: 'json')
    • 是的,在我们尝试使用 ajax 方法之前,我们使用的是 $.getJSON,但遇到了 CORS 错误。我们应该尝试切换回 $.getJSON 吗?
    猜你喜欢
    • 2016-12-14
    • 2016-08-14
    • 2013-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    相关资源
    最近更新 更多