1

我使用 jquery-ajax 方法 POST 来发布授权标头,但 Firebug 显示错误“401 Unauthorized”标头作为该方法的参数。

我究竟做错了什么?我该怎么办?

jQuery(function(dat) {
dat.ajax({
  type: "POST",
  url: url,
  data: {
    Latlng: 'coordinates.coordinates',
    texts: 'text'
  },
  success: function(dat) {
    setMarkers(dat);
  },
  dataType: "json"
});
});

这是我忘记的 oAuth 方法(我不认为这有什么问题,因为我按照示例进行了操作。)

var url = "https://stream.twitter.com/1/statuses/filter.json"; var accessor = { token: "token", tokenSecret: "token_secret", consumerKey: "consumer_key", consumerSecret: "consumer_secret" };

var message = {
  action: url,
  method: "POST",
  parameters: {
    track: 'nutella',
    locations: '-180,-90,180,90'
  }
};

OAuth.completeRequest(消息,访问者);
OAuth.SignatureMethod.sign(消息,访问者);网址 = 网址 + '?' + OAuth.formEncode(message.parameters);

我关闭了秘密数据。

4

1 回答 1

6

您必须发送一个额外的标题。我知道如果您尝试调用 google api,他们会要求标题为 Authorization 的标题。以下是您将如何通过 jQuery 做到这一点。

function setHeader(xhr) {

 xhr.setRequestHeader('Authorization', '12345');
 xhr.setRequestHeader('SomethingElse', 'abcdefg');

}

$.ajax({

        url: 'www.google.com',
    type: 'POST',
    datatype: 'json',
    success: function() { alert("Success"); },
    error: function() { alert('Failure!'); },
    beforeSend: setHeader

});
于 2012-07-23T22:51:27.707 回答