1

在我的代码中,我从 jQuery ajax 获取数据并将其分配给数组变量。但是当我在这个数组变量上调用 split 函数时,我得到了错误(如在 google chrome 控制台中看到的):

Uncaught TypeError: Object  has no method 'split' 

相关代码为:

$(function () {
    var originalData=[]; // Also tried var originalData=new Array(); and var originalData;
    $.ajax({                                      
      url: 'data.php',                    
      data: "",                        
      dataType: 'text',               
      success: function(data)          
      {
        alert(data); // THIS WORKS
      }
    });

    alert("a");  // THIS WORKS
    var dataArray =originalData.split("#");
    alert("abc "+ dataArray); //THIS DOESNT WORK
});

根本无法破解这个。不知道我在假设 ajax 数据的对象类型或将 orginalData 分配给数据时是否犯了错误。

此外,php 文件的输出是声明为的echo $array;位置,此后我不断将字符串附加到.$array$array="";$array

数据内容也是:#195:93.0500:94.8500:93.6500:93.6500#196:94.0000:92.0000:92.2500:92.2500#197:91.0000:92.1000:87.6500:87.6500#198:88.0000:89.0000:86.0000:87.0000:86.0000:87.9000#199:89.0000 :92.3000:88.5000:92.2000#200:93.1000:94.1000:90.7500:91.4000

谢谢

编辑

在 Aashray 的回答之后,通过替换我没有得到错误var originalData=[];var originalData="";但是拆分的功能不起作用,因为它在拆分后显示一个空白数组。

编辑

空白数组的问题似乎与原始问题无关。我认为问题是在 split 函数之后调用了 $.ajax 函数。至少当我输入更多警报时,我发现序列以拆分功能周围的警报开始,而 $.ajax 中的警报在最后发生。所以 split 后的空白数组是空白的,因为很可能它的输入数据在调用 split 时没有被 $.ajax 填充。但那是另一个与问题无关的问题。

4

1 回答 1

6

originalData是一个数组。split()函数只能用于字符串。使用索引来引用位置,例如originalData[0].

于 2013-02-27T05:47:25.023 回答