jQuery Post没有得到xml响应

时间:2011-06-21 13:29:50

标签: jquery

这是我的jQuery post请求,我怎样才能找回xml响应,我在fiddler中检查了响应是否为我预期的xml

这是我的jquery帖子

$.post("/csm/viewall.action",
  { sessiontoken:   sessiontoken },
      function(xml)
      {
            alert(xml);
      }
);

警告返回[object XMLDocument]

我的xml

<list>
<com.abc.db.ConfigInfo>
<cfgId>83</cfgId>
<cfgName>test</cfgName>
<cfgDesc>test</cfgDesc>
<cfgType>test</cfgType>
<fileName>csmclientbenz.xml</fileName>
<absolutePath>../webapps/csm/files//1-105101/csmclientbenz.xml</absolutePath>
</com.abc.db.ConfigInfo>
<com.abc.db.ConfigInfo>
<cfgId>82</cfgId>
<cfgName>test1</cfgName>
<cfgDesc>test2</cfgDesc>
<cfgType>test1</cfgType>
<fileName>csmclientbenz.xml</fileName>
<absolutePath>../webapps/csm/files//1-105101/csmclientbenz.xml</absolutePath>
</com.abc.db.ConfigInfo>
<list>

4 个答案:

答案 0 :(得分:2)

这是一篇关于使用jquery

解析xml的信息性文章

http://www.switchonthecode.com/tutorials/xml-parsing-with-jquery

您可以将xml读作

$(xml).find('com.abc.db.ConfigInfo').each(function(){
var ths = $(this);
var id= ths.find('cfgId').text();
var name = ths.find('cfgName').text();
....//and so on

});

答案 1 :(得分:1)

将您的代码行更改为:

alert($(xml).find('list').html());

答案 2 :(得分:1)

正在获取XML。它是XMLDocument对象的形式。

然后,您可以使用jQuery(xml)创建一个jQuery对象,您可以继续使用标准jQuery方法进行操作。

答案 3 :(得分:0)

尝试使用以下方法捕获成功事件和错误事件失败:

var jqxhr = $.post("example.php", function() {
  alert("success");
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });