我很遗憾地需要支持IE8,而我甚至无法让简单的$.getJSON
请求正常工作。
以下是代码:
url = "http://www.somejson.com/data.json";
$.getJSON(url, function(data) {
var funds = []; var benchmarks = [];
funds.push(data.funds); benchmarks.push(data.benchmarks);
$.each( data.funds, function(key, value) {
var ticker = key;
// Monthly:
var appendToDaily = function(ticker) {
$.each($("#"+ticker), function(key, value, index) {
$(this).children("td").filter(":nth-child(1)").html( '<td>'+funds[0][ticker].name+'</td>' );
$(this).children("td").filter(":nth-child(2)").html( '<td>'+ticker+'</td>' );
$(this).children("td").filter(":nth-child(3)").html( '<td>'+funds[0][ticker].fund.inception_date+'</td>' );
});
};
appendToDaily(ticker);
});
});
此代码在Chrome,Firefox和IE9 +中运行良好。
我已经尝试了一些方法来解决这个问题但没有成功:
$.ajax
方法。response.setContentType("text/javascript; charset=UTF-8");
。$.getJSON
之前添加了此代码段:$.ajaxSetup({ cache: false });
,然后在建议here终止呼叫之前将其重置为true。json2.js
以防万一。1.11.0.min.js
。当我尝试运行此代码时,我收到了一些错误,说“&#34; fund&#34;和&#34;基金&#34;未定义。我还注意到$.getJSON
回调函数内部没有任何内容触发;即使是alert()
也会被忽略。
我有点在我的智慧结束,所以任何建议都将不胜感激!提前谢谢。
答案 0 :(得分:0)
如果您的数据未定义,则可能无法获得成功的响应。尝试使用以下代码段来查看是否可以隔离错误。
$.getJSON('http://...')
.done(function(response) { console.log('complete'); })
.fail(function(error) { console.log('error'); });
如果控制台输出“错误”,您可以从那里开始工作。您可以步骤调试或将错误结果输出到控制台。