Jsonp请求拒绝工作

时间:2014-10-15 13:01:50

标签: javascript jsonp

我收到了以下代码:

var url = 'https://lottery.lafunda.com.do/Lottery/WinningNumbers?key=664cf843-8904-4212-9503-d4733651f519&gobackdays=2&grouped=true&language=es-DO&callback=generateTicker';
$.ajax({
    url: url,
    accept: "application/javascript",
    dataType: "jsonp"
});



function generateTicker(returndata) {
  console.log(returndata);
}

但没有任何反应。在控制台中我收到此消息: "资源被解释为脚本,但使用MIME类型text / html"

进行传输

这是JSfiddle:http://jsfiddle.net/8k8souqj/

提前致谢。

修改

你们大多数人都指出URL没有返回有效的json。但是,如果我对chrome使用修改标头扩展并接受" application / javascript"作为标题我得到有效的javascript:

 generateTicker([{"HouseAbbreviation":"LIL","ClosesOn":"2014-10-15T02:10:00","HouseName":"Illinois Noche","Drawings":[{"HouseAbbreviation":"LIL","HouseName":"Illinois Noche","ClosesOn":"2014-10-15T02:10:00","BallCount":2,"PostedNumbers":"3-0"},{"HouseAbbreviation":"LIL","HouseName":"Illinois Noche","ClosesOn":"2014-10-15T02:10:00","BallCount":3,"PostedNumbers":"6-3-0"}... etc

编辑2:

显然问题是jsonp不能使用修改的头文件,因为这不可能通过脚本标记。因此,URL将始终返回html。感谢所有

3 个答案:

答案 0 :(得分:0)

该代码提取HTML页面:

<!DOCTYPE html>

<html>
<head>
  <meta name="viewport" content="width=device-width" />
  <title>Winning Numbers</title>
  <link rel="stylesheet" type="text/css" href="/assets/css/webordertaker.css" />
  <link rel="stylesheet" type="text/css" href="/Content/css/select2.css" />
  <script type="text/javascript" src="/Scripts/jquery-1.11.1.min.js"></script>
  <script type="text/javascript" src="/Scripts/select2.min.js"></script>
  <script type="text/javascript" src="/Scripts/modernizr-2.8.3.js"></script>
</head>
<body id="winningNumbersView">
  <div id="layoutContainer">



<h2>N&#250;meros Ganadores</h2>

<table class="table" id="winningNumbersTable">
  <thead>
    <tr>
      <th>Fecha</th>
      <th>Casa</th>
      <th>N&#250;meros</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>14/10/14</td>
      <td>LIL Illinois Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>3-0</td>
              <td>6-3-0</td>
              <td>7-9-2-2</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>NPR Puerto Rico Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>3-5</td>
              <td>4-3-5</td>
              <td>0-9-6-3</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>LFL Florida Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>4-1</td>
              <td>3-4-1</td>
              <td>9-9-7-6</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>LNJ Nueva Jersey Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>3-9</td>
              <td>1-3-9</td>
              <td>9-9-6-4</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>LNY Nueva York Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>7-6</td>
              <td>8-7-6</td>
              <td>6-1-1-4</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>LNYMAR Marriage NY Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>3</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>76-61-14</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>LNYBOR Borlette NY Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>3</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>76-61-14</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>DPR Puerto Rico D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>9-3</td>
              <td>5-9-3</td>
              <td>6-4-6-4</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>EIL Illinois D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>9-6</td>
              <td>0-9-6</td>
              <td>1-4-4-4</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>EFL Florida D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>5-2</td>
              <td>2-5-2</td>
              <td>3-9-2-3</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>ENJ Nueva Jersey D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>3-2</td>
              <td>1-3-2</td>
              <td>6-8-7-2</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>ENYMAR Marriage NY D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>3</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>85-02-78</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>ENYBOR Borlette NY D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>3</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>85-02-78</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>14/10/14</td>
      <td>ENY Nueva York D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>8-5</td>
              <td>6-8-5</td>
              <td>0-2-7-8</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>LIL Illinois Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>2-8</td>
              <td>8-2-8</td>
              <td>0-1-3-4</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>LFL Florida Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>6-5</td>
              <td>0-6-5</td>
              <td>5-0-8-2</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>NPR Puerto Rico Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>5-6</td>
              <td>4-5-6</td>
              <td>9-4-1-0</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>LNJ Nueva Jersey Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>7-5</td>
              <td>4-7-5</td>
              <td>7-1-1-8</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>LNYMAR Marriage NY Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>3</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>71-62-44</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>LNYBOR Borlette NY Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>3</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>71-62-44</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>LNY Nueva York Noche</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>7-1</td>
              <td>2-7-1</td>
              <td>6-2-4-4</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>DPR Puerto Rico D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>7-5</td>
              <td>0-7-5</td>
              <td>5-2-6-0</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>EIL Illinois D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>9-8</td>
              <td>0-9-8</td>
              <td>8-1-5-9</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>EFL Florida D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>5-5</td>
              <td>9-5-5</td>
              <td>2-6-6-8</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>ENJ Nueva Jersey D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>0-0</td>
              <td>5-0-0</td>
              <td>0-7-2-7</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>ENY Nueva York D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>2</td>
              <td>3</td>
              <td>4</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>8-4</td>
              <td>1-8-4</td>
              <td>3-2-9-9</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>ENYMAR Marriage NY D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>3</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>84-32-99</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
    <tr>
      <td>13/10/14</td>
      <td>ENYBOR Borlette NY D&#237;a</td>
      <td>
        <table class="inner-table">
          <thead>
            <tr>
              <td>3</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>84-32-99</td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
  </tbody>
</table>

  </div>
  <script type="text/javascript" src="/Scripts/iframeResizer.contentWindow.js"></script>

</body>
</html>

...但HTML无效JSONP。

答案 1 :(得分:0)

回调永远不会以这种方式运作。您必须将回调添加到ajax请求。

var url = 'https://lottery.lafunda.com.do/Lottery/WinningNumbers?key=664cf843-8904-4212-9503-d4733651f519&gobackdays=2&grouped=true&language=es-DO&callback=generateTicker';
$.ajax({
    url: url,
    accept: "application/javascript",
    dataType: "jsonp",
    success: generateTicker
});

function generateTicker(returndata) {
  console.log(returndata);
}

答案 2 :(得分:0)

你的问题是两个错误的结合,正如Jerodev所说,你调用回调方法的方式不起作用,而且,你提到的发送接受标头的方式也不合适

以下内容应该有效

$.ajax({
    headers: {
        Accept: "application/javascript"
    },
    url: url,
    data: "jsonp",
    success : generateTicker
})

function generateTicker(returndata) {
    console.log(returndata);
}

工作小提琴

http://jsfiddle.net/8k8souqj/13/