2015-02-10 83 views
0

我的问题很简单。我已经草拟了如下的代码,以便在发布表单时显示加载图像。加载图像可以正确显示。但是,返回结果后它不能自动隐藏。我可以知道错误是什么?阿贾克斯加载图片错误

HTML

<div id="loading"></div> 

阿贾克斯

function email_subscribe(){ 
    $('#loading').html('<img src="loading.gif"> loading...'); 
    $.ajax({ 
     type: 'post', 
     url: 'index.php?subscribe', 
     dataType: 'html', 
     data:$("#subscribe").serialize(), 
     success: function (html) { 
      $('#loading').html(); 
      eval(html); 
    }}); 
} 

+1

你是什么意思'它不能隐藏结果返回后?您似乎正在使用'html()'的getter,但不会将其分配给变量。你使用'eval()'也让我担心。 – 2015-02-10 14:15:08

+0

看起来你正在尝试删除加载html,但为什么不只是'.hide()'呢? – jungy 2015-02-10 14:20:04

回答

3

你只是调用.html()方法不带任何参数(其作为吸气)。要达到您在此寻找的内容,您至少需要以空字符串的形式传入set并覆盖现有内容。

$('#loading').html(''); 
+0

解决了我的问题。而且解释清楚! – 2015-02-10 14:29:06

0

我也想你不应该使用eval ....

...是用类似的参数调用的.html():

$('#loading').html("&nbsp;"); 

$('#loading').html(" ");