【发布时间】:2015-01-28 10:02:56
【问题描述】:
对这一切都很陌生,所以请耐心等待并使用简单的答案!
我正在尝试动态填充一个下拉框 (theSecondBox),其中包含一个项目列表,该列表取决于在另一个下拉框 (theCriteria) 中所做的选择。
我已经能够发出一个 AJAX 请求并得到一个 XML 文档。
到目前为止,我的脚本如下所示:-
<script type="text/javascript">
var xmlHttp;
function triggerAction(){
xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
criteria = document.getElementById("theCriteria").value;
xmlHttp.open("GET","MyURL?criteria=" + criteria, true);
xmlHttp.send(null);
}
function handleStateChange(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
parseResults();}
}
}
这会向我返回一个如下所示的 XML 文档:-
<list>
<string>FirstDropDownItem</string>
<string>SecondDropDownItem</string>
<string>ThirdDropDownItem</string>
</list>
所以,我正在尝试用这些项目填充我的第二个下拉框,使用类似 ...
function parseResults(){
var results
var selectTag
results = xmlHttp.responseXML;
selectTag = document.getElementById("theSecondBox");
...这就是我需要一些“简单”指针的地方。
如何使用 XML 文档中返回的项目填充 secondBox?到目前为止,我尝试过的所有事情(我不会复制它以挽救我的尴尬!)只是给我空值。
为这个简单的问题道歉,但正如我所说,我无论如何都不是程序员,所以任何指向解决方案或有助于教育我的好教程的指针将不胜感激。
【问题讨论】:
-
在我尝试帮助您之前只是一个简单的问题。有没有可能得到 json 响应?
-
尝试改用“getElementByTagName”。
-
是的,我相信这是可能的。我正在使用一个 grails 框架,我认为它可以呈现为 json 以及 xml。不过我从来没有玩过这个,所以如果我这样做的话,这对我来说又是一个学习日。
-
JSON 响应会更容易操作。无论哪种方式,如果您决定继续使用 XML,这里有一点帮助:w3schools.com/ajax/ajax_xmlfile.asp
-
实际上,我只是尝试了 json 的东西,现在我的响应看起来像:-
标签: javascript ajax xml select