我有一个按钮#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) {
});
}
答案 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.
});
});