阻止Laravel加载新URL并让角度处理它

时间:2016-10-18 03:42:41

标签: angularjs laravel angular-routing

因此,当我导航到URL时,我打开了一个单页角应用程序。如果我使用链接,在应用程序内移动很好 - 新的URL加载就好了。但是,如果我在浏览器URL窗口中输入一个新URL并按Enter键,则后端框架(在我的情况下为Laravel)会尝试解析该URL。

我如何

  1. 拦截网址更改,以便我可以将其简单地指向应用中的相应状态

  2. 告诉Laravel忽略新网址并让角度应用处理它

  3. 由于

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题,你不希望Laravel处理它,因为路由是在javascript中定义的,而不是在服务器端定义的。如果是这种情况,您可以使用通配符解决它。

让我们说在你的laravel的路线中你有这一行加载你的应用程序,视图,javascripts等:

const fetch = require('node-fetch')
var server = 'https://example.net/information_submitted/'

var loginInformation = {
    username: "example@example.com",
    password: "examplePassword",
    ApiKey: "0000-0000-00-000-0000-0"
}

var headers = {}
headers['This-Api-Header-Custom'] = {
    Username: loginInformation.username,
    Password: loginInformation.password,
    requiredApiKey: loginInformation.ApiKey
}

fetch(server, { method: 'GET', headers: headers})
.then((res) => {
    console.log(res)
    return res.json()
})
.then((json) => {
    console.log(json)
})

您可以使用通配符修饰符忽略已追加的任何网址,并始终为您的索引视图提供服务:

Route::get('/', 'PagesController@index');

我不确定为什么它不在最新的文档中,但您可以找到文档at Laravel 5.2 doc regarding regular expression constraints