Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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 URL路由进行服务器调用?_Javascript_Single Page Application_Router_Client Side - Fatal编程技术网

如何避免在没有大型框架的情况下使用javascript URL路由进行服务器调用?

如何避免在没有大型框架的情况下使用javascript URL路由进行服务器调用?,javascript,single-page-application,router,client-side,Javascript,Single Page Application,Router,Client Side,是否可以以某种方式创建浏览器历史URL路径,这样我就可以让javascript创建并重用browsercache,而不必首先路由到服务器 链接到/about=客户端创建页面并使用该页面,,而服务器不知道该页面 如果可能的话,有人能写一个简单的例子吗? 没有框架 提前谢谢是的,你可以。例如,阅读pushState函数 示例代码。假设执行以下JavaScript: var stateObj = { foo: "bar" }; history.pushState(stateObj, "page 2",

是否可以以某种方式创建浏览器历史URL路径,这样我就可以让javascript创建并重用browsercache,而不必首先路由到服务器

链接到/about=客户端创建页面并使用该页面,,而服务器不知道该页面

如果可能的话,有人能写一个简单的例子吗? 没有框架


提前谢谢

是的,你可以。例如,阅读pushState函数

示例代码。假设执行以下JavaScript:

var stateObj = { foo: "bar" };
history.pushState(stateObj, "page 2", "bar.html");

这将导致URL栏显示,但不会导致浏览器加载bar.html,甚至不会检查bar.html是否存在。

如果您正在寻找插件,请尝试。

可以,但也需要为虚拟目录配置服务器(请考虑页面刷新、书签等)。您可以使用几个客户端路由器库。除此之外,要求提供代码样本的内容太广泛,与《哦,谢谢》中的主题无关。。我希望我能在点击状态后转到URL,在新的URL上点击回车键,并避开服务器。我担心如果你点击回车键,浏览器会向服务器发出请求。因为浏览器无法知道它需要调用另一个页面来在客户端生成新页面,所以复制/粘贴很容易。但这不是一个有效的例子。所以我不能劫持URL路径来阻止服务器调用?什么的有效例子?创建一个“客户端网站”是不可能的,它将在不查询服务器的情况下工作。历史API旨在使SPA应用程序能够标记其状态。这样,用户就可以为某个URL(使用pushState生成)添加书签,以后再访问此类URL,这是应用程序的责任,以恢复与此URL对应的状态。