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"};
Run Code Online (Sandbox Code Playgroud)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);
我关闭了秘密数据.
你必须发送一个额外的标题.我知道如果你试图打电话给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)