使用jQuery解析xml响应

Shy*_*yne 22 javascript xml jquery


好吧,我使用jQuery来解析我的xml响应.

我有这个xml:

<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <client_id>185</client_id>
</response>
Run Code Online (Sandbox Code Playgroud)

我想获得"client_id"值.

Tom*_*lak 39

要在请求中将预期的响应数据类型修复为XML,请将dataType参数设置为"xml".如果不这样做,jQuery使用响应头进行猜测.

$.ajax()作为options对象的一部分支持在函数上,以及on $.get()$.post():

jQuery.ajax( options )
jQuery.get( url, data, callback, type )
jQuery.post( url, data, callback, type )
Run Code Online (Sandbox Code Playgroud)

所以你可以这样做:

$.ajax({
  type: 'GET',
  url: "foo.aspx",
  data: {
    key: "value"
  },
  dataType: "xml",
  success: function (xml){
    var clientid = $(xml).find('client_id').first().text();
    alert(clientid);
  }   
});
Run Code Online (Sandbox Code Playgroud)

请注意,从jQuery 1.5开始,您可以使用上述Ajax请求的更好版本:

$.get("foo.aspx", {
  key: "value"
})
.done(function (xml){
  var clientid = $(xml).find('client_id').first().text();
  alert(clientid);
});
Run Code Online (Sandbox Code Playgroud)


Sal*_*lty 37

首先,使用$ .get或者您想要的XML请求.然后:

clientID = $(myXML).find("client_id").text();
Run Code Online (Sandbox Code Playgroud)