Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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查找最具体的文件?_Javascript_Ajax_Http Status Code 404_Lookup - Fatal编程技术网

如何使用客户端JavaScript查找最具体的文件?

如何使用客户端JavaScript查找最具体的文件?,javascript,ajax,http-status-code-404,lookup,Javascript,Ajax,Http Status Code 404,Lookup,仅使用客户端JavaScript,我需要根据给定网页的路径名查找最特定的数据文件 假设我在example.com/foo/bar,对于/foor/bar路径名,可能存在以下数据文件: /data.js /foo/data.js /foo/bar/data.js 最具体的/foo/bar/data.js文件完全可能不存在。也可能只有最通用的/data.js文件可用于当前路径 此查找必须在每个页面视图中进行一次 由于文件中有大量的路径名和数据,因此不可能将所有数据文件放在单个聚合资源中,这太浪费

仅使用客户端JavaScript,我需要根据给定网页的路径名查找最特定的数据文件

假设我在
example.com/foo/bar
,对于/foor/bar路径名,可能存在以下数据文件:

  • /data.js
  • /foo/data.js
  • /foo/bar/data.js
最具体的
/foo/bar/data.js
文件完全可能不存在。也可能只有最通用的
/data.js
文件可用于当前路径

此查找必须在每个页面视图中进行一次

由于文件中有大量的路径名和数据,因此不可能将所有数据文件放在单个聚合资源中,这太浪费了

我的第一个解决方案是尝试用AJAX加载所有可能的数据文件,丢弃返回404错误的文件,然后在结果中找到最具体的文件

我认为这是可行的,但我不喜欢必须“轰炸”服务器并为给定页面生成一些(0–4)404错误的想法


您能推荐一种更好的方法吗?

这里只是一个想法,但如果您确实跟踪文件的存放位置,不是更好吗?不幸的是,我们的客户端脚本没有关于可能存在的数据文件的任何信息。也不可能为每个页面生成单独的聚合数据文件,因为页面创建者技术在这种情况下是一个黑盒子,我们无法控制它。(事实上,有很多单独的页面生成器,所以我们正在讨论几个这样的黑盒子。)^^这比我的想法好得多,我会这么做,只是点燃那玩意儿。设置代理服务器是一种选择吗?像
my proxy.net/get/foo/bar/data.js
而不是
your server.com/foo/bar/data.js
?如果是,您可以在代理上缓存试错请求。@georg,让代理隐藏错误将增强解决方案,但不会消除404错误。我还是会觉得脏。:)