gpt4 book ai didi

javascript - Internet Explorer 9 和 JavaScript 变量作用域问题

转载 作者:行者123 更新时间:2023-11-30 10:42:31 25 4
gpt4 key购买 nike

此代码适用于 Chrome 和 Firefox 但不适用于 IE9 ... 需要一些提示 ...

var obj = {
data: [],

json: function() {
var self = this;
$.getJSON("highscore.json", function(resp) {
self.data = resp.splice(0);
});
}
};

更新:

谢谢你的帮助......

这是 ie9 的问题,ie 抛出了错误代码“c00ce56e”——这是字符集的问题。我会在 php 脚本中尝试另一个 header ...

谢谢@所有

最佳答案

你的代码对我来说看起来不错,除了在 json 请求完成之前不会填充数据,这不是即时的,因为 ajax 是异步的。

obj.json();
alert(obj.data); // []
setTimeout(function(){
alert(obj.data); // ["foo","bar","foobar"]
},5000);

更新
我建议向您的对象添加一个名为 request 的属性,并将 $.getJSON 请求存储在其中。在这一点上,将数据直接存储在对象上没有意义,因为您始终可以从请求中获取它。

var obj = {
request: {done:$.noop,fail:$.noop,always:$.noop},

json: function() {
this.request = $.getJSON("highscore.json");
}
};
obj.json();
// you can run the following as many times as you need to use the data.
obj.request.done(function(data){
alert(data.splice(0));
});

请注意,在当前形式中,您必须调用 .json() 才能向请求添加回调。

关于javascript - Internet Explorer 9 和 JavaScript 变量作用域问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10321169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com