jQuery'POST'授权

时间:2012-07-23 22:32:34

标签: jquery ajax post authorization

我使用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 = {         令牌:“令牌”,         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(message,accessor); url = url +'?' +   OAuth.formEncode(message.parameters);

我关闭了秘密数据。

1 个答案:

答案 0 :(得分: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

});