如何使用客户端JavaScript查找最具体的文件?
仅使用客户端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文件可用于当前路径 此查找必须在每个页面视图中进行一次 由于文件中有大量的路径名和数据,因此不可能将所有数据文件放在单个聚合资源中,这太浪费
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错误。我还是会觉得脏。:)