Ajax加载json文件,其中有趣的字符在IE中不起作用

Ajax加载json文件,其中有趣的字符在IE中不起作用,ajax,json,special-characters,Ajax,Json,Special Characters,我在ie方面有问题。在json格式的文件中,我有: 例如,马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格

我在ie方面有问题。在json格式的文件中,我有:

例如,马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南“北里奥格兰德”},{“id”:“33”,“re”:“南里奥格兰德”},{“id”:“33”,“re”:“Rondônia”},{“id”:“33”,“re”:“Roraima”},{“id”:“33”,“re”:“Santa Catarina”},{“id”:“33”,“re”:“圣保罗”}

FF、Chrome、Safari和Opera没问题

在进行了大量搜索后,似乎有相同问题的人被告知要添加:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

这就是我所做的,但仍然没有成功。这是我的代码。显然它是有效的。添加只是以防万一

function GetRegions(CoID)
{
    var i=0;

    $.ajax({      
        type: "GET",      
        url: "http://localhost/JSONFiles/cregions.json",      
        async: false,      
        dataType: "json",  
        success: function(data){     
            $(data).each(function(){
                if (this.id==CoID)
                {                   
                    if (i==0)
                    {
                        $('#st_Region').find('option').remove(0).end().append('<option value="0">Select Your Region</option>').val('0');                        
                    }               
                    i++;
                    $('#st_Region').append('<option value="'+this.re+'">'+this.re+'</option>');
                };
            });             

            if (i==0)
            {
                $('#st_Region').find('option').remove(0).end().append('<option value="1">No Regions For This Country</option>').val('1');                                   
            };
            i=0;
        }

    });
};
函数GetRegions(CoID) { var i=0; $.ajax({ 键入:“获取”, url:“http://localhost/JSONFiles/cregions.json", async:false, 数据类型:“json”, 成功:函数(数据){ $(数据)。每个(函数(){ if(this.id==CoID) { 如果(i==0) { $('st#u Region').find('option').remove(0.end().append('Select Your Region').val('0'); } i++; $('st#u Region')。追加(''+this.re+''); }; }); 如果(i==0) { $('st#u Region').find('option').remove(0).end().append('No Regions For This Country').val('1'); }; i=0; } }); };
非常感谢您的帮助。谢谢。

没有查看代码,但您的字符串不是JSON有效的。请在开始和结束处修剪逗号,并全部用[]包装

[{"id": "33","re": "Maranhão"},{"id": "33","re": "Mato Grosso"},{"id": "33","re": "Mato Grosso do Sul"},{"id": "33","re": "Minas Gerais"},{"id": "33","re": "Paraíba"},{"id": "33","re": "Paraná"},{"id": "33","re": "Paro"},{"id": "33","re": "Pernambuco"},{"id": "33","re": "Piauí"},{"id": "33","re": "Rio de Janeiro"},{"id": "33","re": "Rio Grande do Norte"},{"id": "33","re": "Rio Grande do Sul"},{"id": "33","re": "Rondônia"},{"id": "33","re": "Roraima"},{"id": "33","re": "Santa Catarina"},{"id": "33","re": "São Paulo"}]

尝试将JSON的内容类型用作
“application/JSON”

另外,添加一个error函数并查看错误是什么。这将直接引导您找到错误

error: function(jqXHR, textStatus, errorThrown){
    alert(textStatus);
    // you can add different alert here to check
    alert(errorThrown);
    alert(jqXHR.responseText);
}

另外,如果用一个
块来结束
,为什么要结束
?虽然它不会导致错误(因为
合法的空语句),但它可能会引入
不想要的特性
,并引起头痛。

这只是一个部分复制和粘贴,数据被包装在[]另外,请注意,它在FF、Opera等方面确实有效。没问题。请给我Sh^&s。这是一个假设。如果您查看上面的json片段,您将看到类似“圣保罗”的区域名称“好的,我按照你的建议做了:TEXTSTATUS:parserror,errorhorn:Invalid JSON:然后它给出了整个文件。我知道这个文件是有效的,因为如果我去掉特殊字符,它就可以正常工作。你说的是什么特殊字符?这是一个假设。如果你看上面的json片段,你会看到像“圣保罗”这样的地区名称,我爱互联网!!!我找到了解决方案:它检查您的文件,然后将所有特殊字符“圣保罗”更改为“圣保罗”。很好!!!。谢谢大家!