我使用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);
我关闭了秘密数据。
答案 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
});