【问题标题】:Jquery ajax update issue with chromechrome的jQuery ajax更新问题
【发布时间】:2013-01-28 04:17:12
【问题描述】:

我有这段代码

<div id="status">content here</div>
 <input name="order_data" type="button"  value="<?php echo $order;?>"  class="besttocart"  onclick="gotocart(this);" />

和Javascript

function gotocart(e)
{       
   var origtext = $('#status').html();
    if(getCookie('language').toLowerCase() == 'en'){
   $('#status').html('Loading');
    }else{
    $('#status').html('het laden');        
    }

   $.ajax({           
            url: 'index.php?route=foo/bar',
            type: 'post',
            async:false, /*I strongly suspect something here*/
            dataType:"json",
            success:function(data){

               //do stuff
            }
    });


}

当我通过控制台查看时,Google chrome $('#status').html() 正在更改为“正在加载”或“het laden”。但它没有显示在我的页面中,我的状态内容仍然是“此处的内容”。 在Firefox中工作正常

【问题讨论】:

  • 你能给我们看看 jsfiddle 吗?
  • @ExplosionPills 那个后端 ajax 是一个很重的..这个stackoverflow.com/questions/1742049/…
  • async:false chrome 问题
  • 我遇到了问题..如果我更改async:true 它将正常工作..我希望async:false 无论如何都这样做

标签: javascript ajax google-chrome jquery


【解决方案1】:

我猜问题出在这一行:

getCookie('语言'),

因为当我像这样更改代码时,

   var origtext = $('#status').html();

    var str=getCookie('language');

   //changed the code here

    if(str && str!='' && str.toLowerCase() == 'en'){
   $('#status').html('Loading');
    }else{
    $('#status').html('het laden');        
    }

这很好用。

当 cookie 未设置时,函数 getCookie 返回空白,但 toLowerCase 不在 Chrome 中解析它。因此出现错误。

【讨论】:

  • cookie 是从 php 文件中设置的吗?请参阅我的更新答案。我不认为这是“异步”问题。
【解决方案2】:

你尝试过使用

document.getElemetnById("status").innerHTML="SOMETHING";

【讨论】:

  • 谢谢你检查你的拼写,这不是问题
猜你喜欢
  • 1970-01-01
  • 2010-12-17
  • 2011-08-13
  • 2011-08-24
  • 2012-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多