Javascript 无法在$.ajax中设置自定义标题
我决定尝试使用jQuery一次,因为它已经包含在页面中。我发现它有非常方便的$.ajax方法,允许您生成可读的ajax调用 我学会了如何拨打电话,因为我需要在Imgur授权。这是我的代码:Javascript 无法在$.ajax中设置自定义标题,javascript,jquery,ajax,Javascript,Jquery,Ajax,我决定尝试使用jQuery一次,因为它已经包含在页面中。我发现它有非常方便的$.ajax方法,允许您生成可读的ajax调用 我学会了如何拨打电话,因为我需要在Imgur授权。这是我的代码: $.ajax({ url: 'https://api.imgur.com/3/image', type: 'POST', headers: { Authorization: 'Client-ID ' + APP_ID, Accept: 'applicatio
$.ajax({
url: 'https://api.imgur.com/3/image',
type: 'POST',
headers: {
Authorization: 'Client-ID ' + APP_ID,
Accept: 'application/json'
},
data: {
image: SavePage.getimgrc(),
type: 'base64'
},
success: function(result) {
var id = result.data.id;
window.location = 'https://imgur.com/gallery/' + id;
}
});
好吧,不管它有多方便,它都不会像广告宣传的那样起作用:
POST /3/image HTTP/1.1
Host: api.imgur.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 20956
Origin: resource://jid0-gxjllfbcoax0lcltedfrekqdqpi-at-jetpack
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
那么,它是坏了还是我把它搞砸了?所以我终于找到了答案。问题是,尽管我以前有过这样的经历,我还是在使用jQuery。本机代码正常工作:
var r = new XMLHttpRequest();
r.open("POST", 'https://api.imgur.com/3/image');
r.setRequestHeader("Authorization", 'Client-ID ' + APP_ID);
r.setRequestHeader("Accept", 'application/json ');
var data = new FormData();
data.append("type", "base64");
data.append("image", SavePage.getimgrc());
r.send(data);
经验教训:jQuery包含在网站上并不意味着它会对您有所帮助。旁注:让用户选项允许您要设置的标题-这是控制台的输出吗?是的,这是firebug输出。我不懂这些选项。为什么我不能设置任何要请求的头?@AlexeiLevenkov选项安全性过高确实存在一些问题。jQuery无法处理它,但如果我发送本机请求,一切都会正常。。。