Javascript 用jQuery解析xml响应
大家好,Javascript 用jQuery解析xml响应,javascript,jquery,xml,Javascript,Jquery,Xml,大家好, 我使用jQuery解析xml响应 我有以下xml: <?xml version="1.0" encoding="UTF-8"?> <response status="ok"> <client_id>185</client_id> </response> 185 我想获取“client_id”值。首先,使用$.get或您想要的方式请求XML。 然后: 要将请求中的预期响应数据类型修正为XML,请将dataType参数设
我使用jQuery解析xml响应 我有以下xml:
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
<client_id>185</client_id>
</response>
185
我想获取“client_id”值。首先,使用$.get或您想要的方式请求XML。 然后:
要将请求中的预期响应数据类型修正为XML,请将
dataType
参数设置为“XML”。如果没有,jQuery将使用响应头进行猜测
作为选项
对象的一部分,它在$.ajax()
函数上受支持,在$.get()
和$.post()上受支持:
所以你可以这样做:
$.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($('file.xml').val(),{ } , doSomethingWithData);
函数doSomethingWithData(数据){
在这里,tpicall used request.responseXML是本例中的数据,您必须将其封装在$(数据)中才能工作(这使我在3小时左右的时间内感到头晕目眩)
这是否安全?您通过jQuery解析响应内容,但不确定其是否正确。@Artem如果响应内容类型:
标题类型为text/xml
,则jQuery将响应数据视为xml。如果它说application/json
,jQuery将响应视为json。这非常有效。我很抱歉不知道“安全”是什么意思。Smart!XML是一种标记语言..是的!
$.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);
$(data).find("marker").each(function() {
var marker = $(this);
alert(marker.attr("lat"));
});
// alert(markerh);
}