在jQuery中无需预处理即可获取XML
Getting XML without preprocessing in jQuery
这个有点奇怪,抱歉。我试图从返回格式错误的XML的API中获取数据。特别是,每个<episode>
都有自己的<title>
标签,当$.get
或$.ajax
处理时,它们都被推送到文档的<head>
。
然而,我知道这不是XML的API是交付-如果你在Chrome或其他打开链接,你可以看到单独的<title>
标签。jQuery中的某些东西在我读取XML之前对其进行了预处理。我该如何阻止它?
我的代码
$.ajax({
url: 'http://services.tvrage.com/feeds/episode_list.php?sid=33381',
dataType: "text",
type: 'GET',
success: function(data) {
console.log(data);
}
});
响应<html>
<head>
<link/>
<title>Pilot</title>
<link/><link/><link/><link/><link/><link/><link/><link/><link/><link/><link/>
</head>
<body>
<show>
<name>Rick and Morty</name>
...etc
我知道XML是坏的,但它是我所有的。我很乐意将XML作为明文,运行正则表达式来修复它,然后将其重新处理为XML。但我不知道如何获得明文——每次我要求dataType: 'text'
时,它似乎都是预处理过的,就像上面展示的那样奇怪。我该如何解决这个问题?
For me是响应正确(chrome, mozilla)
-
去这里:http://services.tvrage.com/
-
打开控制台,在控制台,执行你的代码:
$。ajax ({url:"http://services.tvrage.com/feeds/episode_list.php?sid=33381",数据类型:"文本",类型:"得到",成功:function(data) {console.log(数据);}});
和响应:
<?xml version="1.0" encoding="UTF-8" ?>
<Show>
<name>Rick and Morty</name>
<totalseasons>2</totalseasons>
<Episodelist>
<Season no="1">
<episode><epnum>1</epnum><seasonnum>01</seasonnum><prodnum>RAM100</prodnum><airdate>2013-12-02</airdate><link>http://www.tvrage.com/rick-and-morty/episodes/1065427946</link><title>Pilot</title></episode>
<episode><epnum>2</epnum><seasonnum>02</seasonnum><prodnum>RAM101</prodnum><airdate>2013-12-09</airdate><link>http://www.tvrage.com/rick-and-morty/episodes/1065433545</link><title>Lawnmower Dog</title></episode>
<episode><epnum>3</epnum><seasonnum>03</seasonnum><prodnum>RAM105</prodnum><airdate>2013-12-16</airdate><link>http://www.tvrage.com/rick-and-morty/episodes/1065433546</link><title>Anatomy Park</title></episode>
<episode><epnum>4</epnum><seasonnum>04</seasonnum><prodnum>RAM103</prodnum><airdate>2014-01-13</airdate><link>http://www.tvrage.com/rick-and-morty/episodes/1065450389</link><title>M. Night Shaym-Aliens!</title></episode>
<episode><epnum>5</epnum><seasonnum>05</seasonnum><prodnum>RAM104</prodnum><airdate>2014-01-20</airdate><link>http://www.tvrage.com/rick-and-morty/episodes/1065450390</link><title>Meeseeks and Destroy</title></episode>
<episode><epnum>6</epnum><seasonnum>06</seasonnum><prodnum>RAM102</prodnum><airdate>2014-01-27</airdate><link>http://www.tvrage.com/rick-and-morty/episodes/1065450391</link><title>Rick Potion #9</title></episode>
<episode><epnum>7</epnum><seasonnum>07</seasonnum><prodnum>RAM107</prodnum><airdate>2014-03-10</airdate><link>http://www.tvrage.com/rick-and-morty/episodes/1065501839</link><title>Raising Gazorpazorp</title></episode>
<episode><epnum>8</epnum><seasonnum>08</seasonnum><prodnum>RAM108</prodnum><airdate>2014-03-17</airdate><link>http://www.tvrage.com/rick-and-morty/episodes/1065504277</link><title>Rixty Minutes</title></episode>
<episode><epnum>9</epnum><seasonnum>09</seasonnum><prodnum>RAM109</prodnum><airdate>2014-03-24</airdate><link>http://www.tvrage.com/rick-and-morty/episodes/1065504278</link><title>Something Ricked This Way Comes</title></episode>
<episode><epnum>10</epnum><seasonnum>10</seasonnum><prodnum>RAM106</prodnum><airdate>2014-04-07</airdate><link>http://www.tvrage.com/rick-and-morty/episodes/1065504279</link><title>Close Rick-Counters of the Rick Kind</title></episode>
<episode><epnum>11</epnum><seasonnum>11</seasonnum><prodnum>RAM110</prodnum><airdate>2014-04-14</airdate><link>http://www.tvrage.com/rick-and-morty/episodes/1065531436</link><title>Ricksy Business</title></episode>
</Season>
<Season no="2">
<episode><epnum>12</epnum><seasonnum>01</seasonnum><prodnum></prodnum><airdate>2015-07-26</airdate><link>http://www.tvrage.com/rick-and-morty/episodes/1065808803</link><title>Season 2, Episode 1</title></episode>
</Season>
</Episodelist>
</Show>
使用fiddler或wire-shark检查您的浏览器中是否发生了数据丢失/更改或响应不正确。
相关文章:
- 在控制器中按ID获取XML ViewElement(MultiInput)
- 如何获取XML值,然后使用javascript将它们输出到htm文件中
- 使用 AJAX 获取 XML,然后将其解析为 JSON(无需服务器)
- 如何在JQUERY中从HTML文档中获取XML对象
- 获取xml节点文本
- XML到JSON代理服务器未获取XML提要
- 无法获取XML中的节点值,如何获取
- 在 javascript 中获取 xml 标记名称
- 在javascript中获取xml dom子元素
- 如何在WCF服务中获取Xml作为字符串并使用JavaScript发送
- 无法使用 jquery 获取 xml 属性的值
- 无法使用 jquery 获取 xml 元素文本值
- Angularjs - 使用 $http 获取 xml 响应而不是 json
- 如何使用 JS AJAX 获取 XML 标记的名称
- 获取 XML 节点并将其存储在变量中
- 使用 JavaScript 获取 XML 数据
- 如何获取 xml 控件属性
- 如何在IE8中获取XML节点的文本值
- 如何使用 Jquery 获取 XML 文件,并在每次加载时以随机顺序显示元素一次
- 如何在 JavaScript 中获取 XML 命名空间