Ajax加载json文件,其中有趣的字符在IE中不起作用
我在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没问题 在进行了大量搜索后,似乎有相同问题的人被告知要添加:Ajax加载json文件,其中有趣的字符在IE中不起作用,ajax,json,special-characters,Ajax,Json,Special Characters,我在ie方面有问题。在json格式的文件中,我有: 例如,马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索州、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格罗索、南马托格
<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片段,你会看到像“圣保罗”这样的地区名称,我爱互联网!!!我找到了解决方案:它检查您的文件,然后将所有特殊字符“圣保罗”更改为“圣保罗”。很好!!!。谢谢大家!