Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript帮助-以老派的方式做一些新的事情_Javascript_Jquery_Asp Classic - Fatal编程技术网

javascript帮助-以老派的方式做一些新的事情

javascript帮助-以老派的方式做一些新的事情,javascript,jquery,asp-classic,Javascript,Jquery,Asp Classic,更新: 有些人说,他们能够获得超过1个子节点。。。 这是我的-我只得到1个要显示的子节点 错误在哪里 原始问题 下面是我继承的部分javascript代码片段。基本上,此函数用于通过调用AJAX函数来获取XML数据。但是,由于需求的变化,我正在生成一个XML字符串,并将该字符串存储在屏幕上的隐藏输入变量中(Classic ASP) 仔细查看原始脚本后,我发现如果我能以某种方式将xml字符串传递到cmdxml变量中,那就太好了。但是,当我将cmdxml设置为我的xml字符串时:cmdxml=$.p

更新: 有些人说,他们能够获得超过1个子节点。。。 这是我的-我只得到1个要显示的子节点

错误在哪里

原始问题 下面是我继承的部分javascript代码片段。基本上,此函数用于通过调用AJAX函数来获取XML数据。但是,由于需求的变化,我正在生成一个XML字符串,并将该字符串存储在屏幕上的隐藏输入变量中(Classic ASP

仔细查看原始脚本后,我发现如果我能以某种方式将xml字符串传递到cmdxml变量中,那就太好了。但是,当我将cmdxml设置为我的xml字符串时:
cmdxml=$.parseXML(xmlVal)
然后尝试使用下面的代码段,它只获取1个子节点。我在下面传递了一个xml字符串的小片段

使用cmdxml的旧Javascript函数(部分):

    if (req.responseXML!=null) {
        var PropName;
        var PropValue;              
        var cmdxml = req.responseXML.documentElement;   
        // read each document element child node in the XML document

    for (var c =0;c<cmdxml.childNodes.length;c++) {
            var m;
            var t = cmdxml.childNodes[c];   //req.responseXML.documentElement.childNodes[c]
            if (t!=null) {
            //console.log(t.nodeName);
            switch(t.nodeName) {     //req.responseXML.documentElement.childNodes[c].nodeName
                    case "RObject": {   //response object
                        var RObject = t;    
                    //req.responseXML.documentElement.childNodes[c].nodeName.attributes[2].value
                    var CtrlChangeType = RObject.attributes[2].value;
                        var CtrlObjName = RObject.attributes[1].value;
                        var CtrlObjType = RObject.attributes[0].value;
                        var CtrlObj;

                    var RObjProp = RObject.getElementsByTagName("Property");
                    PropName =  RObjProp[0].attributes[0].value;
                        PropValue = getElementText(RObjProp[0].getElementsByTagName("Value")[0]);

                    switch (CtrlChangeType) {   //req.responseXML.documentElement.childNodes[c].nodeName.attributes[0].value
                        case "comboboxInsRow": {
<?xml version="1.0" ?><xCMDS><JCallBack ProgramName="x"><Value><![CDATA[top.closeCtrlLoading();]]></Value></JCallBack><RObject Type="E" Name="gH2ptObj_co_code" ChangeType="objProp" rowNum="" colNum=""><Property Name="value"><Value><![CDATA[]]></Value></Property></RObject>
if(请求响应xml!=null){
变量名称;
风险价值;
var cmdxml=req.responseXML.documentElement;
//读取XML文档中的每个文档元素子节点

对于(var c=0;cparseXML返回一个XMLDocument,。您需要设置cmdxml$.parseXML('snippet').document元素来访问childNodes(childNodes是节点的属性,通常在文档中不可用)


您的fiddle返回一个childNode,但这是根元素,您希望访问根元素的childNodes。

使用
警报($.parseXML('Your snippet').documentElement.childNodes.length)时,我为代码段获取2个childNodes)'。但是我附加了缺少的结束标记。@Dr.Molle-我知道你在这里做了什么。为什么我不能将$.parseXML(xmlVal)传递到cmdxml?-顺便说一句,如果你把它作为一个答案,我会接受它。