【问题标题】:CKAN Basic API jQuery Not WorkingCKAN 基本 API jQuery 不工作
【发布时间】:2016-02-16 02:38:26
【问题描述】:

使用 CKAN API

Endpoints 全部实时,例如http://yuj.it/api/action/datastore_search?resource_id=ed654ac3-2b2b-42f2-bd39-6928cf009c0f

使用 jQuery 无法获得 任何 使用 jQuery AJAX 的结果...

我不知道什么?

<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
<meta charset="utf-8"/>
<title>CKAN API TEST</title>
</head>
<body>
<script>
$(document).ready(function(){
  var data = {resource_id: 'ed654ac3-2b2b-42f2-bd39-6928cf009c0f'};
  $.ajax({
    url: 'http://yuj.it/api/action/datastore_search',
    type: 'POST',
    data: data,
    cache: true,
    dataType: 'jsonp',
    success: function(data) {
      alert('yay');
    },
    error: function(data) {
      alert('boo');
    }
  });
  });
</script>
</body>
</html>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
    <meta charset="utf-8"/>
    <title>CKAN API TEST</title>
    </head>
    <body>
    <script>
    $(document).ready(function(){
      var data = {resource_id: 'ed654ac3-2b2b-42f2-bd39-6928cf009c0f'};
      $.ajax({
        url: 'http://yuj.it/api/action/datastore_search',
        type: 'POST',
        data: data,
        cache: true,
        dataType: 'jsonp',
        success: function(data) {
          alert('yay');
        },
        error: function(data) {
          alert('boo');
        }
      });
      });
    </script>
    </body>
    </html>

【问题讨论】:

    标签: jquery api datastore ckan


    【解决方案1】:

    cache: true 添加到您的选项对象将通过防止jQuery 向参数添加带有时间戳值的“_”字段来解决问题(使每个请求唯一可以防止浏览器缓存)。如果您可以信任 CKAN 来防止缓存(确实如此),那就没问题了。

    http://api.jquery.com/jquery.ajax/

    【讨论】:

    • 谢谢马特,我已经编辑了问题并更新了 sn-p,因为它看起来可能有助于通话,但它并不能解决问题。结果仍然出乎意料 - 它显示一个警报“boo”。
    【解决方案2】:

    今天,我尝试了您的代码,它运行良好“耶”,总结果为“69”。你在你的服务器上做了什么?

    【讨论】:

    • 真的吗?遗憾的是我们错过了它 - 因为它现在是“嘘”......在过去的 48 小时内,我们升级到 CKAN 2.5.1 以确保完成所有最新的错误修复,因此我们可能在某个时候取得了一些间歇性的成功升级。不过现在还是不行。无论如何,这似乎表明问题不在于此代码,而在于安装,因此您的答案很有用。您是否从这个页面或其他地方运行了代码 sn-p,因为我看不出它会如何使用 thbis 脚本给出结果数量?谢谢马克西姆。
    • 这两个,我用了sn-p和我自己的代码:alert('Total results found: ' + data.result.total)
    猜你喜欢
    • 1970-01-01
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    • 1970-01-01
    相关资源
    最近更新 更多