Javascript:ajax数据的拆分函数错误:“未捕获的TypeError:对象没有方法'拆分'”

时间:2013-02-27 05:40:27

标签: javascript jquery

在我的代码中,我从jQuery ajax获取数据并将其分配给数组变量。但是当我在这个数组变量上调用split函数时,我得到了错误(如谷歌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.0500:93.6500#196:94.0000:94.4500:92.0000:92.2500#197:91.0000:92.1000:87.6500:87.6500#198:88.0000:89.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时,很可能它的输入数据没有被$ .ajax填充。但那是另一个与问题无关的问题。

1 个答案:

答案 0 :(得分:6)

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