在我的代码中,我从 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 填充。但那是另一个与问题无关的问题。