我遇到了问题。在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” :“圣保罗”},
FF,Chrome,Safari和Opera没问题。 IE有特殊字符的问题。
经过大量搜索后,似乎有同样问题的人被告知要添加:
<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;
}
});
};
任何帮助都会受到赞赏。谢谢。
答案 0 :(得分: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"}]
答案 1 :(得分:0)
尝试将JSON的内容类型用作"application/json"
此外,添加错误功能并查看错误。这应该直接带你到错误。
error: function(jqXHR, textStatus, errorThrown){
alert(textStatus);
// you can add different alert here to check
alert(errorThrown);
alert(jqXHR.responseText);
}
另外,为什么要以if blocks
结束;
?虽然它不会导致错误(因为;
是一个合法的空语句),但它可能会引入undesired features
并导致头痛。