【问题标题】:both success and error callbacks used at all times始终使用成功和错误回调
【发布时间】:2011-07-25 08:33:17
【问题描述】:

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

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 一起使用。

【问题讨论】:

    标签: ajax jquery http-status-code-404 jquery-mobile


    【解决方案1】:

    我宁愿建议不要为此目的使用 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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      • 1970-01-01
      • 2018-09-08
      • 2012-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多