那是一张图片吗?如果是这样的话。如果没有继续检查

时间:2014-05-11 23:47:05

标签: javascript jquery

我有一个按钮#myButton,其中包含一个指向由PHP脚本createImage()创建的图像的链接。我需要触发createImage(),然后检查图像是否在isImgThere(imageLink);

问题是我的代码只运行isImgThere(imageLink)函数,并且在触发链接之前不会等到真。如何仅在isImgThere(imageLink);时才能完成success功能?我尝试过使用while语句,但都没有。

$('#myButton').on('click', 'img', function() {
    createImage(size);
    isImgThere(imageLink);
});

function isImgThere(imageLink) {
    $.ajax({
        url:imageLink,
        type:'HEAD',
        error: function()
        {    
            alert("false");
            return false;
        },
        success: function()
        {    
            alert("true");
            return true;
        }
    });
}

这是创建图像功能:

function createImage(size) {
    var myImage = ZoomAddress + 'php/zoom.php';
    var myPram='random='+random+'&returntype=3&size='+size+'&Views='+imgViews+'&'+WhatZoom;
    $.post(myImage,
        myPram,
        function(data) {

    });
}

1 个答案:

答案 0 :(得分:0)

您应该使用响应回调来获得更清晰的方法;类似的东西:

function createImage(size, done)
{
    var params = {
        random: random,
        returntype: 3,
        size: size,
        Views: imgViews
    };


    $.post(ZoomAddress + 'php/zoom.php', params, done);
}

在您的情况下将使用哪个:

$('#myButton').on('click', 'img', function()
{
    createImage(size, function()
    {
        // Image is there.
    });
});