正确的 jquery ajax 加载图像
我在我的网站所有 ajax 调用中都使用这个函数。我的问题是你如何重写它以获得正确的预加载图像,因为我的有点作弊,如果页面加载时间太长或者是 404,则加载图像永远不会消失。
function ajaxcall(my_url, my_div, my_data)
{
$(my_div).append('<div style="text-align:center; position:absolute; top:0; left:0; width:100%;"><img src="/images/loading.gif" /></div>');
$.ajax({ url: my_url,
data: my_data,
type: 'get',
success: function(output)
{
$(my_div).html(output);
}
});
}
问候
I use this function on all my site ajax calls. My question is how would you rewrite it to have a proper pre-load image since mine is kind of a cheat and if the page takes too long to load or is 404 that loading image never goes away.
function ajaxcall(my_url, my_div, my_data)
{
$(my_div).append('<div style="text-align:center; position:absolute; top:0; left:0; width:100%;"><img src="/images/loading.gif" /></div>');
$.ajax({ url: my_url,
data: my_data,
type: 'get',
success: function(output)
{
$(my_div).html(output);
}
});
}
Regards
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
error
选项(请参阅http://api.jquery.com /jQuery.ajax/) 编写一个处理 404 或超时的处理函数,即删除加载图像并以某种方式通知用户。You could use the
error
option (see http://api.jquery.com/jQuery.ajax/) to write a handler function that deals with 404 or timeouts i.e removing the loading image and notifying the user somehow.如果 ajax 调用失败,则隐藏 div 后。
否则,您可以将图像放在另一个div上。最初它将被隐藏,并在函数开始时显示div,并且在ajax调用后隐藏div,无论成功还是失败。
after that ajax call if it is a failure hide the div.
Otherwise you can put the image on another div.Initially it will be hide and in the start of function show the div and after ajax call hide the div whether it is success or failure.