仅使用IE 9的未终止字符串常量错误

时间:2015-01-06 09:24:23

标签: javascript internet-explorer

好的,我在IE 8和9中遇到此错误,这是Ajax调用

$('#$id').ajaxForm({
beforeSend: function() {
$("#{$this->name}_div").hide();
$("#{$this->name}_message").hide(); 
$("#{$this->name}_message").show().html('<img src="$gif">');
},
success: function(response)
{
     var response = JSON.parse(response);
     if (response.error != 'undefined')
{
...
}

}

问题在于这行JavaScript代码

 var response = JSON.parse(response);

我的Javescript,破解,脚本在其他浏览器和Internet Explorer 10中工作,我担心如果有老IE的人试图访问我的网站。这个错误有什么解决方案吗?

1 个答案:

答案 0 :(得分:3)

您为什么要自己解析JSON? ajaxForm为此提供dataType选项:

$('#$id').ajaxForm({
    beforeSend: function() {
        $("#{$this->name}_div").hide();
        $("#{$this->name}_message").hide(); 
        $("#{$this->name}_message").show().html('<img src="$gif">');
    },
    dataType: 'json',
    success: function(response){
       if (response.error != 'undefined') {
           ...
       }
    }
});

另一方面,如果您的JSON中存在其他浏览器恰好容忍的无效内容,那么几乎唯一的答案就是修复您的JSON。