有一些关于获取 get-call 的返回值的帖子。但我的问题仍然存在。
我的来源
...
$.get("list.svc/XmlTestService", function (XmlData) { console.log(XmlData); }, "xml");
...
alert($Loc['Name']);
...
我得到一个在控制台上正确的 XML 文档。通常我必须继续使用 Xml 来做某事。这将在一个单独的函数中完成,如下所示:
function GetOutXml (XmlData) {
...
return { 'Name': ValueName }
}
现在我需要缩小我的接听电话和警报之间的差距。我尝试了一些不同的东西,但没有成功。一种方法是这样的:
...
var $Xml = null;
$.get("list.svc/XmlTestService", function (XmlData) { $Xml = XmlData; }, "xml");
var $Loc = GetOutXml($Xml);
...
但没有成功。我是 JS 世界的新手(只有基础知识)。通常,我使用功能架构构建我的源代码。
我怎样才能做到这一点?
更新:好的...在阅读了很多内容后,我以另一种方式解决了我的问题。因为在匿名函数中做每一件事不是我的思维方式,而且以后很难阅读和遵循。
所以我做了什么:
...
var $Xml = null;
$.ajax({type:'GET',url:"list.svc/XmlTestService",success: function(Data) { $Xml = Data;},dataType:'xml',async:false});
...
var $Loc = GetOutXml($Xml);
...
重要的一步是使用 ajax-command 来完成这项工作,因为可以将 async 设置为 false,因此它是同步的。
谢谢你帮助我。