脚本错误:“无法获取属性'split'的值:对象为null或未定义

时间:2013-05-24 02:35:58

标签: javascript

我四处搜寻,找不到我的问题的答案。我是编码的新手,在工作中,我们有一个应用程序,其中包含已登录的当前名称以及他们正在执行的操作。

最近,他们已经从jquery 1.4.1更改为jquery 1.8.3。从那以后,由于以下错误,我无法正确处理结果; “无法获得属性'split'的值:对象为null或未定义”

我有代码设置来获取结果并拆分它们;

function processAgents(xData, status) {
var avail    = xData.responseText.split("|")[0];
var acw      = xData.responseText.split("|")[1];
var total    = xData.responseText.split("|")[2];
var breaks    = xData.responseText.split("|")[3];
var pending  = xData.responseText.split("|")[4];

应用程序设置为打开HTA文件打开PHP脚本。

任何帮助将不胜感激,如果我遗漏了任何东西,请告诉我!

谢谢!

编辑1

我做了一些调查,看起来我没有从我的流程请求中获取数据。这就是当前设置的方式

function updateAgents() {
var ts1 = new Date().getTime();
$.ajax({
      url: "http://SERVER/AgentSrc.php?x=" + ts1,
      complete: processAgents

我不确定这是否正确处理,因为他们进入了jquery 1.8.3。

编辑2 因此,在进一步研究之后,即使我有访问权限,脚本也不会从服务器获取数据。如果我创建一个本地文件并将信息放入其中,它将提取信息并将其拆分,但如果我指向服务器上文件的路径,它将无法获取信息。但奇怪的是,如果我使用jquery 1.4.1运行它,它会将数据拉得很好,但无法显示它。但是对于1.8.3,它不允许我从服务器上取下它。

再次感谢!

2 个答案:

答案 0 :(得分:1)

这将提供一些清晰度

xData.responseText.toString().split("|")[0];

(split是字符串的一部分而不是jQuery)

答案 1 :(得分:1)

这是一个可能的解释:在早期版本的jQuery中,ajax调用返回了一个xmlHttpRequest(XHR)对象。最近的版本返回了一个promise(jqXHR)。

See this page了解详情。