HI all,
我使用jQuery來解析我的xml響應。使用jQuery解析xml響應
我有這樣的XML:
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
<client_id>185</client_id>
</response>
,我希望得到 「的client_id」 值。
HI all,
我使用jQuery來解析我的xml響應。使用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);
});
安全嗎?你用jQuery解析響應內容,你不確定它是否正確。 – 2012-08-21 12:26:47
使用這樣的事情:
$.ajax({ type: 'GET', url: 'test.xml', dataType: 'xml', success: function(xml){
$('response', xml).each(function() {alert($(this).find('client_id').text());});
}});
只是補充,我使用$不用彷徨:
$.get($('file.xml').val(),{ } , doSomethingWithData);
功能doSomethingWithData(數據){
$(data).find("marker").each(function() {
var marker = $(this);
alert(marker.attr("lat"));
});
這裏tpicall在這種情況下使用request.responseXML是數據,並且您必須將其封裝在$(data)中才能工作(這讓我頭腦破了約3小時; S)
// alert(markerh);
}
聰明! XML是一種標籤語言。 – 2016-03-31 08:59:10