2011-05-14 404 views
0

我试图从服务器传递给客户端在AJAX中的布尔变量。我发现计算器此解决方案:在AJAX中传递布尔值

你要“真实” 布尔值和文本“真”和 “假”之间的区别?

嗯 - 某个属性可能对您有帮助 - 活跃。

“文本”:

<problem>false</problem> 

对于布尔:

<problem IsActive="false"></problem>

现在我的问题很简单:我怎么读回在JavaScript中IsActive属性? 我想像这将是沿着线的东西:

var problem = xmlResponse.getElementsByTagName("problem")[0]; 
var IsActive = problem.getAttribute("IsActive"); 

但什么是用于获取该工作确切的代码?

非常感谢。

回答

1

如果您使用的是XML,请使用所谓的,true表示该属性存在,false表示不存在。我假设你没有使用任何JS库,如jQuery或原型。

然后,您可以简单地使用hasAttribute方法DOM节点上:

XML

<problem IsActive>foo</problem> 
-or- 
<problem IsActive="IsActive">foo</problem> 

JS

var problem = xmlResponse.getElementsByTagName('problem')[0]; 
var IsActive = problem.hasAttribute('IsActive'); 

据我所知最 “AJAX” 这些天使用JSON ,这使数据传递更容易。

+0

感谢您的帮助!您建议的第一种方法会生成一个解析错误,“属性的规范任务值”,第二种方法不会。你知道这是为什么吗? – Mansiemans 2011-05-15 12:16:43

+1

在HTML中可以没有属性值。对于真正的XML,你*必须*有一个属性的值。 – zzzzBov 2011-05-15 17:37:27