jQuery'POST'授权

use*_*804 1 ajax jquery 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"
});
});
Run Code Online (Sandbox Code Playgroud)

这是我忘记的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'
  }
};
Run Code Online (Sandbox Code Playgroud)

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

我关闭了秘密数据.

Chr*_*ris 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

});
Run Code Online (Sandbox Code Playgroud)