我编写了$ .ajax函数来进行API调用。但结果仅显示在Chrome浏览器上。 API调用的结果不会在firefox浏览器上显示。此外,ajax调用在IE浏览器中根本不起作用。任何人都可以告诉为什么会出现这个问题。
以下是我使用的代码:
var seriesurl = "http://t2json.tgoservices.com/818746/PrinterManufacturers/21/PrinterSeries";
$.ajax({
cache: false,
url: seriesurl
}).done(function (data, textStatus, jqXHR) {
$.each(data, function (i, item) {
var items = item.PrinterSeries.Items;
for (var a = 0; a < items.length; a++) {
var id;
$("#content1").html('<a class="manufacturer" onclick="getprinter(' + items[a].Id + ',' + n + ');" id="' + items[a].Id + '" style="cursor:pointer;" >' + items[a].Name + '</a>');
}
});
}).fail(function (jqXHR, textStatus) {
$('#status').html(textStatus);
$('#content').html('(failed)');
});
答案 0 :(得分:2)
我认为问题源于未在初始ajax请求中定义dataType。
if(!window.console) console = {log:function(){}};
function getData(){
var seriesurl = "http://t2json.tgoservices.com/818746/PrinterManufacturers/21/PrinterSeries";
$.get(seriesurl,function(data){
console.log(data);
var items = data.T2Json.PrinterSeries.Items;
console.log(items);
for(var a = 0; a < items.length; a++) {
$("#content1").append('<a class="manufacturer" onclick="getprinter('+items[a].Id+');" id="'+items[a].Id+'" style="cursor:pointer;" >'+ items[a].Name + '</a><br>');
}
},'json'); //--dataType definition (json, jsonp, html, xml, etc...)
}
请注意,我稍微修改了您的代码。生成的锚标记中有一个“n”变量未在代码段中定义,因此我删除了该示例。
如果您更喜欢使用ajax简写,只需添加dataType:json设置。