在我们的AngularJS应用程序中,我有一个图像网址,如下所示:
http://example.com/images/get/785746378问题是这会将我重定向到另一个被阻塞的URL:
http://another-example.com/images/f/gs/s/your-image.jpg所以镜像不起作用,但是如果我替换域名,那么它是:
http://example.com/images/f/gs/s/your-image.jpg它工作得很好。
因此,我希望能够在JavaScript中ping网址,找出重定向的网址是什么,并在添加到我的img src之前更改域名,使其正常工作
发布于 2017-02-21 23:35:51
这应该可以很好地工作:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(response) {
var xhr = response.target;
if (xhr.readyState === 4 && xhr.status === 302) {
var redirectURL = xhr.location;
var imageURL = redirectURL.replace('http://another-example','http://example');
// change your image src here by imageURL
}
}
xhr.open('GET', 'http://example.com/images/get/785746378', true);
xhr.send(null);发布于 2017-02-22 00:50:59
从你的帖子中还不清楚你是如何请求图像的。假设您使用AJAX /$HTTP请求它:
您可以发送对原始URL的HEAD请求。如果服务器上允许HTTP HEAD请求,您将获得HTTP302响应,并在响应头中包含新的location。您可以在此location上执行所需的操作,并发送GET请求以获取图像的新URL。
https://stackoverflow.com/questions/42371443
复制相似问题