Sonarr API无法在Chrome上运行

时间:2015-05-01 06:19:23

标签: javascript jquery ajax json api

我是网页设计新手,目前正在开发一个使用Sonarr管理媒体库的项目。我想要一个带有表格的网站,要求添加电视节目。为了实现这一点,我尝试使用Sonarr API但遇到了一些麻烦。我的代码如下:

注意:这是一个测试代码,用于确保API调用有效,并且它所做的只是返回Sonarr的状态

的JavaScript

function sonarr() {

  $.ajax({
    url: 'http://' + document.domain + ':8989/api/system/status/',
    headers: {
      "X-Api-Key": "/*MY API KEY*/"
    },
    success: function(imdbinfo) {
      json = imdbinfo;
      var str = JSON.stringify(json, undefined, 2);
      $("#one").text(str);
    },
    error: function(imdbinfo) {
      json = imdbinfo;
      var str = JSON.stringify(json, undefined, 2);
      $("#one").text(str);
    }

  });
}

HTML

<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</head>

<body>
  <form id="f1" onsubmit="sonarr(); return false;" autocomplete="off" method="get">
    <br>
    <input type="tvshow" name="tvshow" id="tvshow">
    <br>
    <input type="submit" id="submitBtn" class="button-primary" style="margin:15px" value="Request">
  </form>

  <div id="one"></div>
  <!-- empty div to display result -->

</body>

</html>

此API调用应返回类似于:

的内容
 {
  "version": "2.0.0.1121",
   "buildTime": "2014-02-08T20:49:36.5560392Z",
   "isDebug": false,
   "isProduction": true,
   "isAdmin": true,
   "isUserInteractive": false,
   "startupPath": "C:\\ProgramData\\NzbDrone\\bin",
   "appData": "C:\\ProgramData\\NzbDrone",
   "osVersion": "6.2.9200.0",
   "isMono": false,
   "isLinux": false,
   "isWindows": true,
   "branch": "develop",
   "authentication": false,
   "startOfWeek": 0,
   "urlBase": ""
 }

但我得到了这个回报(在Chrome和Firefox上):

 { "readyState": 0, "responseText": "", "status": 0, "statusText": "error" }

但在Safari上,我得到了预期的结果。

我查看了Chrome开发者工具上的网络日志,并获得了"401 unauthorized" error。 Firebug给出"Cross-Origin Request blocked" error。但是,如果我使用www.hurl.it发送请求,它会成功告诉我没有权限或跨域问题。我不知道下一步该做什么。任何帮助,将不胜感激。

0 个答案:

没有答案