我在使用 jQuery 时遇到了问题,尝试获取 XML 文档时,它会像#document在控制台中一样返回,而不是我可以操作的对象。为什么是这样?
这是我的 JavaScript 代码:
$.get('/ingredients/view_xml/' + ingredientId, function(xml) {
console.log(xml);
}, 'xml');
Run Code Online (Sandbox Code Playgroud)
这是 XML:
<?xml version="1.0" encoding="UTF-8" ?>
<ingredient>
<entryId>700</entryId>
<title>GUINEA FOWL WHOLE FRESH X 1.5KG</title>
<ingredientUnit>KG</ingredientUnit>
<ingredientCost>5.03</ingredientCost>
</ingredient>
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,即使这是我犯下的一个n00b错误并且现在看不到!
这是预期的行为,请参阅文档:
数据类型
默认值:智能猜测(xml、json、script 或 html)您期望从服务器返回的数据类型。如果未指定,jQuery 将尝试根据响应的 MIME 类型推断它(XML MIME 类型将生成 XML,在 1.4 JSON 中将生成 JavaScript 对象,在 1.4 脚本中将执行脚本,其他任何内容都将是以字符串形式返回)。可用的类型(以及作为成功回调的第一个参数传递的结果)是:
“xml”:返回可以通过 jQuery 处理的 XML 文档。
[...]
此外,该文档是使用jQuery.parseXML()进行解析的,它只是浏览器“本机”XML 解析的包装器。可以使用 DOM 或更方便地使用 jQuery 来遍历和操作生成的文档。文档中的示例:
var xml = "<rss version='2.0'><channel><title>RSS Title</title></channel></rss>",
xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc ),
$title = $xml.find( "title" );
/* append "RSS Title" to #someElement */
$( "#someElement" ).append( $title.text() );
// ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3707 次 |
| 最近记录: |