用jQuery解析xml响应

2021/01/28 11:11 · jquery ·  · 0评论

大家好,

我使用jQuery解析我的xml响应。

我有这个xml:

<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <client_id>185</client_id>
</response>

而且我想获得“ client_id”值。

首先,使用$ .get或您希望的XML请求。然后:

clientID = $(myXML).find("client_id").text();

要在您的请求中将期望的响应数据类型固定为XML,请将dataType参数设置为“ xml”。如果不这样做,jQuery将使用响应标头进行猜测。

它支持的$.ajax()功能的一部分options的对象,以及在$.get()$.post()

jQuery.ajax( options )
jQuery.get( url, data, callback, type )
jQuery.post( url, data, callback, type )

因此,您可以这样做:

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

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

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

使用这样的东西:

$.ajax({ type: 'GET', url: 'test.xml', dataType: 'xml', success: function(xml){
            $('response', xml).each(function() {alert($(this).find('client_id').text());});         
            }});

只是为了补充,我使用$ .get:

$.get($('file.xml').val(),{  } , doSomethingWithData); 

函数doSomethingWithData(data){

 $(data).find("marker").each(function() {


        var marker = $(this);


     alert(marker.attr("lat"));

 });

这里tpicall使用的request.responseXML是这种情况下的数据,您必须将其封装在$(data)中才能工作(这使我花了大约3个小时的时间; S)

                     //    alert(markerh);

                }
本文地址:http://jquery.askforanswer.com/yongjqueryjiexixmlxiangying.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!