我在一个名为 kw.json 的外部文件中有这个 json 数据:
{
"categories" : [{
"producer" : "Apple",
"items" : [
{"name": "iPhone 4G"},
{"name": "iPhone 4GS"},
{"name": "iPhone 5"}
]
},{
"producer" : "Samsung",
"items" : [
{"name": "Galaxy S3"},
{"name": "Galaxy S2"}
]
},{
"producer" : "Nokia",
"items" : [
{"name": "Lumia"},
{"name": "3210"},
{"name": "3310"}
]
}]
}
我让这个脚本加载文件并处理数据:
var menulist;
$.getJSON(rootDomain + "kunden/*kwmobile*/js/kw.json", function(json) {
menulist = json;
var i,c = '<div class="fn_menu_title pointer"><span>bitte Hersteller auswählen</span></div><ul class="fn_menu">', opt = $('<li/>');
var menu = menulist.categories;
for (i=0; i < menu.length; i++){
c += '<li><span class="noar" id="'+[i]+'">' + menu[i].producer + '</span></li>';
}
$('#cat').html(c+'</ul>');
$(".noar").live('click',function(){
var indx = $(this).attr("id");
if (indx < 0) {
$('#items').css('display','none');
return;
}
var item = '<div class="fn_menu_title pointer"><span>bitte Modell auswählen</span></div><ul class="fn_menu">';
for (i=0; i < menu[indx].items.length; i++){
item += '<li><span class="pointer search_link" searchkey="'+ menu[indx].producer +' '+ menu[indx].items[i].name +'">' + menu[indx].items[i].name + '</span></li>';
}
$('#items').html(item+'</ul>').fadeIn();
$("#items").menuFlip();
});
});
问题是,控制台显示是跨浏览器错误,但我无法在同一来源上传 .json。
我知道 jsonp 可以解决这个问题,但我从未使用过,所以我希望你能帮助我。
(对不起bda英语,我来自德国)
谢谢!