gpt4 book ai didi

javascript - 状态代码 304

转载 作者:行者123 更新时间:2023-12-03 09:48:21 24 4
gpt4 key购买 nike

我是 Javascript 和服务器端编程的新手。我正在尝试发送 GET 请求以从我的博客加载图像:http://jsafaiyeh.github.io/img/suw_background.png

function imgLoad(url) {
return new Promise(function(resolve, reject) {

var request = new XMLHttpRequest({mozSystem: true});
request.open('GET', url);
request.responseType='blob';

request.onload = function() {
if (request.status >= 200 && request.status < 400) {
resolve(request.response);
} else {
reject(Error('Image did\'t load successfully; error code '+ request.statusText));
}
};

request.onerror= function() {
reject(Error('There was a network Error'));
};
request.send();
});
}

var body = document.querySelector('body');
var myImage = new Image();

imgLoad('http://jsafaiyeh.github.io/img/suw_background.png').then(function response() {
var imageURL = window.URL.createObjectURL(response);
myImage.src = imageURL;
body.appendChild(myImage);
}, function(Error) {
console.log(Error);
});

我收到状态代码 304。但是,图像仍然无法加载到页面上。任何帮助将不胜感激。

最佳答案

您的函数签名错误。应该是这样的:

imgLoad('http://jsafaiyeh.github.io/img/suw_background.png').then(function (response) {
var imageURL = window.URL.createObjectURL(response);
myImage.src = imageURL;
body.appendChild(myImage);
}, function(Error) {
console.log(Error);
});

Working demo on JSFiddle (至少在 Chrome 中)。

您可能希望将 response 放在参数列表中,而不是传递名为 response 的命名函数。因此,您需要的是function (response),而不是function response()。您没有收到 response 未定义的错误,因为它实际上已声明,但它不是 Promise 的预期结果,而是函数。

关于javascript - 状态代码 304,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30951799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com