我的ASP.NET MVC4控制器返回一个XML字符串,当我们传递一个 SERIAL 时。现在,当我使用C#发送请求时,它工作正常,XML字符串返回,看起来像
<CalculatedCode> 12312312 </CalculatedCode>
我还需要通过下面的jquery来做。查询正在运行,但它返回的是XMLDocumentObject
,而不是xml string
。我查看了Jquery文档以尝试解析它,但我是一个jquery noob,我确定我在代码中出错了。
$.ajax({
url: '@Url.Action("Index", "Home")',
type: 'GET',
dataType: 'xml',
data: { SERIAL: serial}, //SERIAL comes from a textbox
success: function (responseData) {
//Code below is messed up, it simply needs to find the CalculatedCode tag
//and extract the value within this tag
xmlDoc = $.parseXML(response);
$xml = $(xmlDoc);
$thecode = $xml.find("CalculatedCode");
// ToDo: Bug stackoverflow members with this noob question
}
});
非常感谢:)
答案 0 :(得分:1)
当你将dataType设置为XML时已经解析了,所以不需要$.parseXML
,但如果元素是根元素,find()
不起作用,因为它只找到孩子,你我需要filter()
$xml = $(responseData);
$thecode = $xml.filter("CalculatedCode").text();
获取元素的技巧是将xml附加到另一个元素:
$xml = $('<div />').append(responseData);
$thecode = $xml.find("CalculatedCode").text();