始终使用成功和错误回调

发布于 2024-10-27 21:42:50 字数 532 浏览 0 评论 0原文

我有一个简单的代码检查图像网址是否有效。不幸的是,无论是否找到图像,我都会收到错误和成功回调。

var url = obj.image;
$.ajax({
    url: url,
    async:false,
    success: function(data){
        console.log('success');
    },
    error:function (xhr, ajaxOptions, thrownError){
        console.log('error');
    }                             
});

图像: http://images.virtualdesign.pl/images/21422jqerrors.png

我正在使用jquery 1.4.3 和 jquery mobile 1.0a3。

I have a simple code checking if image url is valid. Unfortunately whether image is found or not I'm getting both error and success callbacks.

var url = obj.image;
$.ajax({
    url: url,
    async:false,
    success: function(data){
        console.log('success');
    },
    error:function (xhr, ajaxOptions, thrownError){
        console.log('error');
    }                             
});

Image:
http://images.virtualdesign.pl/images/21422jqerrors.png

I'm using jquery 1.4.3 together with jquery mobile 1.0a3.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

属性 2024-11-03 21:42:50

我宁愿建议不要使用 Ajax 请求来实现此目的。我会像

function checkImage(url, succ, err) {
    var checkImg = new Image();
    checkImg.src = url;
    checkImg.onerror = function() {
        console.log('error');
        err();
    };
    checkImg.onload = function() {
        if(!this.width || !this.height) {
           console.log('error'); 
           err();
        }
        else {
            console.log('success');
            succ();
        }
    };
}

使用它一样:

checkImage('http://mydomain/images/foo.jpg', function() {
    alert('yay');
}, function() {
    alert('oops');
});

演示http://jsfiddle.net/9RxrA/

I'd rather suggest not to use an Ajax request for this purpose. I'd go with

function checkImage(url, succ, err) {
    var checkImg = new Image();
    checkImg.src = url;
    checkImg.onerror = function() {
        console.log('error');
        err();
    };
    checkImg.onload = function() {
        if(!this.width || !this.height) {
           console.log('error'); 
           err();
        }
        else {
            console.log('success');
            succ();
        }
    };
}

Using it like:

checkImage('http://mydomain/images/foo.jpg', function() {
    alert('yay');
}, function() {
    alert('oops');
});

Demo: http://jsfiddle.net/9RxrA/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文