使用jQuery解析xml响应
大家好,
我使用jQuery来解析我的xml响应。
我有这个xml:
185
我想获得“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);
function doSomethingWithData(data){
$(data).find("marker").each(function() { var marker = $(this); alert(marker.attr("lat")); });
这里tpicall使用request.responseXML是这种情况下的数据,你必须将它封装在$(数据)中以便工作(这让我打破了大约3个小时; S)
// alert(markerh); }