javascript不同浏览器中的Ajax方法有不同的结果

时间:2016-05-09 15:12:46

标签: javascript jquery ajax

我有这样的代码:

var width = [];

$.ajax({
   url : "http://xxx.xxx.xxx" ,
   type : "Get",
   dataType: "json",
   async   : true,
   success : function(data){
       for (var index in data)
       {
           var options = data[index].option;
           var position = (++index);
           width[index] = new Array();
           for (var keys in options)
           {
              width[index][keys] = options[keys].votes;
           }
       }
   }
});
在Chrome浏览器中,它工作正常,但在Safari中,错误看起来像:

TypeError: undefined is not an object (evaluating 'width[index][keys] = options[keys].votes')

但如果我在safari中打开调试模式,则没有错误,那么这段代码中的问题是什么?

1 个答案:

答案 0 :(得分:0)

我改变了我的for循环代码:

    for (var index = 0;index < data.length;index++) {
        var options = data[index].option;
        var position = index + 1;
        width[index] = new Array();
        for (var keys = 0; keys < options.length; keys++) {
            width[index][keys] = options[keys].votes;
        }
    }

任何浏览器都没有错误。