使用chrome的Jquery ajax更新问题

时间:2013-01-28 04:17:12

标签: javascript ajax google-chrome jquery

我有这段代码

<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
            }
    });


}

问题出在谷歌浏览器$('#status').html()当我查看控制台时,它正在变为“加载”或“加载”。但是我的页面中没有显示我的状态内容仍然是“内容在这里”。 在firefox中正常工作

2 个答案:

答案 0 :(得分:0)

我想问题出在这一行:

getCookie('language'),

因为我改变了这样的代码,

   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中解析它。因此错误。

答案 1 :(得分:-1)

您尝试使用

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