Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5网络应用程序-“;无法从null发出任何请求";使用jqueryajax_Javascript_Ajax_Html_Jquery - Fatal编程技术网

Javascript HTML5网络应用程序-“;无法从null发出任何请求";使用jqueryajax

Javascript HTML5网络应用程序-“;无法从null发出任何请求";使用jqueryajax,javascript,ajax,html,jquery,Javascript,Ajax,Html,Jquery,我有一个HTML5网络应用程序和一个API webapp仅在启动时从API中提取数据。但是,经过一段时间后,数据可能会过时,因此我将在X分钟不活动后刷新webapp 唯一的问题是,如果API关闭,刷新将失败,用户将看到一个错误页面。我希望避免这种情况,因为即使数据过时,也应该允许使用webapp 因此,当刷新超时过期时,它应该首先检查API是否已启动,然后再进行刷新,否则重置计时器并在X分钟后重试 function refresh(reloadUrl) { $.ajax({ type

我有一个HTML5网络应用程序和一个API

webapp仅在启动时从API中提取数据。但是,经过一段时间后,数据可能会过时,因此我将在X分钟不活动后刷新webapp

唯一的问题是,如果API关闭,刷新将失败,用户将看到一个错误页面。我希望避免这种情况,因为即使数据过时,也应该允许使用webapp

因此,当刷新超时过期时,它应该首先检查API是否已启动,然后再进行刷新,否则重置计时器并在X分钟后重试

function refresh(reloadUrl) {
  $.ajax({
    type: 'head',
    url: window.config.HOST_DOMAIN,
    success: function () {
      window.location = reloadUrl;
    },
    error: function (jqXHR) {
      console.log("Tried to refresh client, but API is unavailable (Error: " + jqXHR.status + ", URL: " + window.config.HOST_DOMAIN + ")");
      clearTimeout(window.IDLE_POWER_OFF);
        window.IDLE_POWER_OFF = window.setTimeout(window.client.navigation.splash.reload, window.IDLE_TIMEOUT);
    }
  });
}
但是,当我尝试此操作时,我总是进入错误回调,并在控制台日志中显示以下内容:

XMLHttpRequest cannot load http://mydomain.com/api/whatever. Cannot make any requests from null.
Tried to refresh client, but API is unavailable (Error: 0, URL: http://mydomain.com/api/whatever) 

尝试搜索错误“无法从null发出任何请求”,但只显示了有关iOS问题的内容。有人知道这个错误是什么意思吗?

您没有说明是哪个浏览器,但这是因为您正在处理的HTML文档中使用了一个文件://url吗


请参阅:

您能在网络检查器中看到任何内容吗?另外,当代码显示
URL不可用时,为什么您的示例输出会显示
UMR不可用
。在示例中尝试用API替换UMR,但我忽略了一点。UMR是我的API的名称。因此,您的简单解决方案是运行本地websever.:)或者,使用Firefox或允许文件中的AJAX的浏览器://(Safari是Webkit,所以也有相同的错误),而不使用文件模式。浏览器是Chrome,我正在为不同端口上的客户端和服务器运行本地web服务器。我点击的API路由应该是服务器json。只是为了确保,你的浏览器的URL是什么?(是否以
http://localhost
文件://