0

我四处寻找,找不到我的问题的答案。我在编码方面非常陌生,在工作中,我们有一个应用程序,其中包含当前登录的名称以及他们在做什么。

最近,他们从 jquery 1.4.1 更改为 jquery 1.8.3。从那时起,由于以下错误,我无法正确处理结果;“无法获取属性‘split’的值:对象为空或未定义”

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

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];

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

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

谢谢!

编辑 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,它不允许我从服务器中提取它。

再次感谢!

4

2 回答 2

1

Here is a possible explanation: in earlier versions of jQuery, ajax calls returned an xmlHttpRequest (XHR) object. Recent versions return a promise (jqXHR) instead.

See this page for more details.

于 2013-05-24T02:58:44.573 回答
1

这将给出一些清晰

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

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

于 2013-05-24T02:47:52.903 回答