在jQuery中无需预处理即可获取XML

Getting XML without preprocessing in jQuery

本文关键字:获取 XML 预处理 jQuery      更新时间:2023-09-26

这个有点奇怪,抱歉。我试图从返回格式错误的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)

  1. 去这里:http://services.tvrage.com/

  2. 打开控制台,在控制台,执行你的代码:

    $。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检查您的浏览器中是否发生了数据丢失/更改或响应不正确。