我打电话来获取基于国家/地区的语言。 。当它返回多国语言我下面的代码工作正常..但是当它返回只有一个记录的输出是不正确来临(即将为“indefined” ..请咨询解析JSON输出问题
这里是我的代码:
$.ajax({
type: 'POST',
url: "http://mymethod",
complete: function() { $.mobile.hidePageLoadingMsg(); },
dataType: "json",
contentType: 'application/json',
data: JSON.stringify({
"country": countryCode
}),
success: function (output, textStatus, jqXHR) {
$.each(output.geographyInfo, function (i, theItem) {
try {
languages.push("<option value='" + theItem.languageCode + "'>" + theItem.languageName + "</option>");
}
catch (error) {
alert(error);
}
});
$(languages.join('')).appendTo("#dpdLanguages").trigger("create");
}
});
这里是JSON输出
这里是输出时只有一种语言:
{ “geographyInfo”:{ “主动”: “真”, “COUNTRYCODE”: “美国”,“国家名称“:”UNITED STATES“,”instanceID“:”1“,”languageCode“:”EN“,”languageName“:”英语“,”regionNam E “:” 北美 “},” reasonDetails “:空,” 大小 “:” 1" , “状态”: “真正的”}
,并在多个案件
{ “geographyInfo”:[{ “主动”: “真”, “COUNTRYCODE”: “CA”, “国家名称”: “加拿大”, “实例ID”: “1”, “语言代码”: “EN”, “languageName”: “英语”,“regionName “:”北美“},{”active“:”true“,”countryCode“:”CA“,”countryName“:”CANADA“,”instanceID“:”1“,”languageCode“:”FR“ languageName“:”French“,”regionName“:”北美“},{”active“:”true“,”countryCode“:”CA“,”countryName“:”CANADA“,”instanceID“:”2“ “languageCode”:“EN”,“languageName”:“English”,“regionName”:“Americas”}, {“active”:“true”,“countryCode”:“CA”,“countryName” “实例ID”: “2”, “语言代码”: “FR”, “languageName”: “法语”, “regionName”: “美洲”}], “reasonDetails”:空, “尺寸”:“4”,“状态”:“真”}
是udidu,我认为多数民众赞成在这种情况..但如何解决这个问题?
显示我们也是你的JSON输出,每一个案件。 – Gajotres 2013-02-24 09:37:57
听起来像当你接收多种语言时你得到的是一个对象数组,当它只有一种语言时,它是单个JSON对象 – udidu 2013-02-24 09:53:31
我用json输出编辑了这个问题 – 2013-02-24 10:41:16