Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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 如何在jquery中将xml解析数据转换为全局变量_Javascript_Jquery_Xml_Parsing - Fatal编程技术网

Javascript 如何在jquery中将xml解析数据转换为全局变量

Javascript 如何在jquery中将xml解析数据转换为全局变量,javascript,jquery,xml,parsing,Javascript,Jquery,Xml,Parsing,这是我用来读取“test.xml”的jquery代码 var htmldata=0; $.get('test.xml',函数(数据){ xml_data=$(数据); xml_data.find(“订单”).find(“客户”).each(函数k,v){ divClass=不活动类; spanClass=con; htmldata+=''+$(this).text()+''; }); }); 警报(htmldata); 在这段代码中,我试图解析test.xml并创建一个htmldata。但我不

这是我用来读取“test.xml”的jquery代码

var htmldata=0;
$.get('test.xml',函数(数据){
xml_data=$(数据);
xml_data.find(“订单”).find(“客户”).each(函数k,v){
divClass=不活动类;
spanClass=con;
htmldata+=''+$(this).text()+'';
});
});
警报(htmldata);
在这段代码中,我试图解析test.xml并创建一个htmldata。但我不会把这些数据泄露出去。如果我试图提醒它显示空值。我怎样才能把这个值取出来。请帮助我。

函数parseXMLdata(数据,回调)
function parseXMLdata(data, callback)
{    
    $.get('test.xml', function(data) {
        xml_data = $(data);
        xml_data.find("order").find("customer").each(function(k, v) {
            divClass = inactiveClass;
            spanClass = inactiveIcon;
            var htmldata += '<div class="' + divClass + '"><span class="' + inactiveIcon + '"></span>' + $(this).text() + '</div>';

            callback(htmldata);    
        });
    });
}

parseXMLdata(data, window.alert);
{ $.get('test.xml',函数(数据){ xml_data=$(数据); xml_data.find(“订单”).find(“客户”).each(函数k,v){ divClass=不活动类; spanClass=con; var htmldata+=''+$(this).text()+''; 回调(htmldata); }); }); } parseXMLdata(数据,window.alert);
函数parseXMLdata(数据,回调)
{    
$.get('test.xml',函数(数据){
xml_data=$(数据);
xml_data.find(“订单”).find(“客户”).each(函数k,v){
divClass=不活动类;
spanClass=con;
var htmldata+=''+$(this).text()+'';
回调(htmldata);
});
});
}
parseXMLdata(数据,window.alert);

我认为该警报(htmldata);将显示0,因为代码执行不会等待请求[实际上从test.xml检索数据]完成。正如@OptimusPrime所说,您的ajax请求是异步的。将警报放在
$中。获取
的函数回调。@OptimusPrime确实完全跳过了我。尽管昨天有个问题,我还是创建了一个separe函数来解析数据。var xml_htmldata=$.myorder.parseXMLdata(uniqueId,选项);警报(xml_htmldata);现在它也给出了Unfind消息。忘记我说的话(我会删除它,很抱歉让你困惑)阅读@OptimuPrime的评论,这可能会给你一些解释,我认为这个警报(htmldata);将显示0,因为代码执行不会等待请求[实际上从test.xml检索数据]完成。正如@OptimusPrime所说,您的ajax请求是异步的。将警报放在
$中。获取
的函数回调。@OptimusPrime确实完全跳过了我。尽管昨天有个问题,我还是创建了一个separe函数来解析数据。var xml_htmldata=$.myorder.parseXMLdata(uniqueId,选项);警报(xml_htmldata);现在它也给出了Unfind消息。忘记我说的话(我会删除它,很抱歉让你困惑)阅读@OptimuPrime的评论,这可能会为你提供一些解释:我如何将警报值分配给一个变量?我需要这样的变量var stat=parseXMLdata(data,window.alert);不可能同步进行。您只能执行parseXMLData(数据,函数(html){yourVariable=html});分配将是异步的。正确的方法是将parseXMLData后面的所有内容放在另一个函数体中,该函数体采用一个参数,并将函数名作为第二个参数传递给papreXMLData,以代替window.alert。这里我的意思是,在AJAX调用之后必须执行的事情。如果你花一些时间学习JS中的异步编程,回调,监听器等。黑客攻击只会让你更加沮丧。嗨,我如何才能将警报值分配给一个变量我需要这样的变量var stat=parseXMLdata(data,window.alert);不可能同步进行。您只能执行parseXMLData(数据,函数(html){yourVariable=html});分配将是异步的。正确的方法是将parseXMLData后面的所有内容放在另一个函数体中,该函数体采用一个参数,并将函数名作为第二个参数传递给papreXMLData,以代替window.alert。这里我的意思是,在AJAX调用之后必须执行的事情。如果你在学习JS异步编程、回调、监听器等方面投入一些高质量的时间,这将给你带来丰厚的回报。黑客攻击只会让你更加沮丧。