2009-09-23 54 views
0

我正在使用jquery的ajax方法调用Web服务,它似乎工作,因为'成功'功能被执行。我需要输出的原始结果返回,但是当我使用警报,在MessageBox显示输出:什么我做错了从jquery ajax调用输出结果

event='' 
XMLHttpRequest=success 
ajaxOptions=undefined 

哪有我的原始输出结果?

$.ajax({ 
url: "http://mysite/service/lists.asmx", 
type: "POST", 
dataType: "xml", 
data: soapEnv, 
contentType: "text/xml; charset=utf-8", 
success: function(event, XMLHttpRequest, ajaxOptions){ 
alert("event= "+event);alert("XMLHttpRequest= "+XMLHttpRequest); 
alert("ajaxOptions= "+ajaxOptions);}, 
error: function(xhr) { 
alert('Error! Status = ' + xhr.status);} 
}); 

回答

1

如果您使用firebug与firebug,你可以看看NET标签下。

点击NET清除它。 进行AJAX调用,然后单击+展开该项目。 在响应标签下查看回来的内容。

备注:您也可以查看请求。

+0

谢谢!我能够使用萤火虫来检查回应的格式 – shehan 2009-09-23 18:14:50

+0

嗯,你只是想看到它...我想你想输出它用于手动检查以外的一些用途。 Firebug是最好的选择。 – 2009-09-23 19:19:55

4

这里的第一个问题是您的参数对于success回调是错误的。

的ARG游戏实际上如下:

function (data, textStatus) { 
    this; // the options for this ajax request 
} 

所以,在你的代码,event实际上是数据(jQuery将已经转换的responseXML为你和这个变量卡住它),你XMLHttpRequest实际上是textStatus。

所以,你会想如果你想直接XMLHttpRequest对象做这样的事情

function(data, status) { 
    alert('response: ' + data); 
} 

var xhr = $.ajax({ /* blah */ }); 

然后你可以看一下xhr.responseText通话结束时看到原始结果。如果可能的话,最好使用jQuery的数据参数。

欲了解更多信息,请致电jQuery ajax docs