许多Web框架(如AngularJS)支持“路由”,用户可以访问该网站,并根据其请求URL显示模板。但是这些框架完全是前端JS,只是一个'脚本src'导入,所以它如何设法捕获所有对网站的请求,然后重定向到js文件进行处理等。
任何回复都表示赞赏,因为我一直试图弄清楚这些框架究竟是如何执行路由的“捕获”部分的,但没有运气。
答案 0 :(得分:0)
让我给你一个简单的模型。
我们可以抓取当前的网址。然后我们可以打破那个字符串,我们可以用'/'分隔不同的部分。基于这个部分我们可以把条件放在哪个页面和要显示的数据上。当我们决定使用ajax加载我们想要的页面时。
例如我当前的网址是https://www.example.com/module我可以从此网址中获取“模块”,然后我可以加载到我的网页正文中
$('body').load('module.html');
以下代码来自我目前的工作。查看如何捕获不同的URL并将其路由到我的指定文档。我还从url获取数据以用于我的ajax请求等。
app.config(function($routeProvider) {
$routeProvider.when("/", {
templateUrl : "home.html"
}).when("/logout", {
templateUrl : "logout.html"
}).when("/course/:id", {
templateUrl : "course.html"
}).when("/course/:courseId/assignment/:assignmentId", {
templateUrl : "assignment.html"
});
});