2011-03-10 61 views
0

我试图找到从ajax请求返回的xml对象的长度,并试图确定响应中的xml是0还是不。我试过使用$(xml).length,但它似乎没有工作。无论它们是否返回,它返回1的长度。

回答

0

我认为问题是如果内容是一个空字符串或XML头,jQuery执行XML解析的方式,则<?xml version="1.0" encoding="UTF-8"?>然后它创建一个错误响应与parseerror节点。我在这里创造一个例子:

http://jsfiddle.net/magicaj/55HQq/1/

如果你能控制的服务器上的内容,那么我建议总是与它的状态返回至少一个响应节点,然后检查response的孩子大小节点:

<response status="success"></response> 

在jQuery中您可以使用检查大小:

$(xml).find("response").children().size() 
+0

我想通了看这篇文章:HTTP:// stackover flow.com/questions/4723025/javascript-jquery-val-length-is-null-or-not-an-object – RetroCoder 2011-03-10 22:31:20