我试图通过使用JQuery Ajax来调用Web服务例程来从数据库中检索值。 Web服务例程设置正确并返回我需要的值,但是我对jquery ajax如何工作感到困惑...我不知道如何检索值
$.ajax({
type: 'POST',
url: 'myservices.asmx/getRowName',
dataType: 'xml',
data: ({ param1: someData, param2: someData }),
success: function(data) {
alert( data.getElementsByTagName("string")[0].firstChild.data );
},
error: function(msg) { alert(msg.statusText); }
});
所以在成功的时候,我可以访问通过该函数返回的数据(我已经检查过并且它正在返回正确的数据),但是如果我想使用该函数之外的数据呢?
$.ajax
是否会返回我可以检索所需数据的任何内容?
比如......
data = $.ajax({...all the settings...});
...或
data = $.ajax({...settings...}).responseText;
有什么想法吗?
答案 0 :(得分:3)
你建议你想做的问题是,AJAX是一个异步过程,并试图将AJAX调用的结果分配给一个变量,就像那样建议代码需要“挂起”那里直到结果回来。这不是使用Javascript完成任务的方式。大多数时候,我在成功回调本身中做我需要处理的数据。如果这还不够,那么这样做的方法是拥有一个接受数据作为参数的函数,并在完成后调用它。如果你来自其他语言,这对你来说可能看起来很奇怪,但是在Javascript中,基于事件的事情更多(“当发生这种情况时这样做”),所以你必须相应地设置你的代码:
function doStuffWithData(data) {
// do whatever you want here
}
$.ajax({
type: 'POST',
url: 'myservices.asmx/getRowName',
dataType: 'xml',
data: ({ param1: someData, param2: someData }),
success: function(data) {
doStuffWithData(data);
},
error: function(msg) { alert(msg.statusText); }
});
答案 1 :(得分:0)
请在JQuery http://codernd.com/DevelopersFile/Reading-XML-file-using-JQuery.aspx
中找到使用xml的更好示例