Javascript 在laravel中路由,在ajax中解析URL
因此,我试图了解拉雷维尔的路由,但恐怕没有多大成功。我目前的问题是,我正在尝试路由,以便我的登录功能(使用ajax检查)可以从站点上的所有页面访问。目前我只能从我的索引中找到它。我使用以下方法Javascript 在laravel中路由,在ajax中解析URL,javascript,php,jquery,ajax,laravel,Javascript,Php,Jquery,Ajax,Laravel,因此,我试图了解拉雷维尔的路由,但恐怕没有多大成功。我目前的问题是,我正在尝试路由,以便我的登录功能(使用ajax检查)可以从站点上的所有页面访问。目前我只能从我的索引中找到它。我使用以下方法 Route::post('login', array('uses' => 'LoginController@doLogin')); 以及以下ajax: $.ajax({ type: "POST", url: "<%= ResolveUrl("~/log
Route::post('login', array('uses' => 'LoginController@doLogin'));
以及以下ajax:
$.ajax({
type: "POST",
url: "<%= ResolveUrl("~/login") %>",
data: "username="+username+"&password="+password,
success: function(data) {
console.log(data)
if(data == 'Fel användarnamn eller lösenord.') {
document.getElementById('loginerror').innerHTML = data
} else if (data == 'Inloggad'){
document.getElementById('loginerror').innerHTML = data;
window.location.reload(true);
}
$.ajax({
类型:“POST”,
url:“”,
数据:“username=“+username+”&password=“+password,
成功:功能(数据){
console.log(数据)
如果(数据=‘Fel användarnamn eller lösenord’){
document.getElementById('loginerror')。innerHTML=data
}else if(数据=='Inloggad'){
document.getElementById('loginerror')。innerHTML=数据;
window.location.reload(true);
}
现在我的理解是,解析URL可能会解决我的问题。然而,无论我如何操作URL部分,我都无法让解析工作。我只会得到语法错误或错误的请求错误。如果laravel中内置了一些相关内容,为了独立于URL中的更改获得正确的路由,我将非常感谢我无法在文档中找到/理解任何可以解决我问题的东西。如果有人能告诉我如何正确编写ResoleUrl,我将不胜感激。不过,了解laravels路由可能会对我更好!事先谢谢!更改您的urlr ajax到:
url:"/login"
将ajax中的url更改为:
url:"/login"
在你的路线上试试这个
Route::any('login', ['uses' => 'LoginController@doLogin', 'as' => 'login']);
在你的路线上试试这个
Route::any('login', ['uses' => 'LoginController@doLogin', 'as' => 'login']);
让拉威尔为你做吧 说出你的路线
Route::post('login', array('uses' => 'LoginController@doLogin', 'as' => 'ajax.doLogin'));
通过Javascript中的名称链接到您的路线
url: "{{ URL::route('ajax.doLogin') }}",
让拉威尔为你做吧 说出你的路线
Route::post('login', array('uses' => 'LoginController@doLogin', 'as' => 'ajax.doLogin'));
通过Javascript中的名称链接到您的路线
url: "{{ URL::route('ajax.doLogin') }}",
哇..好吧,谢谢你!有点像我正在寻找的!但是,它仍然不起作用,我得到了一个以下的结果:404帖子(未找到)。我是否也需要更改路由本身中的某些内容?@user3084471没有意识到您在本地主机上。假设您在一个子文件夹中工作,例如
localhost/myapp
?如果是这样,则您可以/myapp/login
(它可以工作,但如果您更改了子文件夹,或者转到没有子文件夹的真实域,则必须更改它)。另一种方法是将laravel app/config/app.php中的域设置为“基本url”,例如localhost/myapp
,然后使用内置url解析程序url::to('login'))
wow..好吧,谢谢你!这正是我要找的!但是,它仍然不起作用,我得到了一个以下的答案:404帖子(未找到)。我是否也需要更改路由本身中的某些内容?@user3084471没有意识到您在本地主机上。假设您在一个子文件夹中工作,例如localhost/myapp
?如果是这样,则您可以/myapp/login
(它可以工作,但如果您更改了子文件夹,或者转到没有子文件夹的真实域,则必须更改它)。另一种方法是将laravel app/config/app.php中的域设置为“基本url”,例如localhost/myapp
,然后使用内置url解析程序url::to('login'))
谢谢你的提示。不幸的是,它不起作用。获取以下错误:POST localhost/login 404(未找到)谢谢你的提示。不幸的是,它不起作用。获取以下错误:POST localhost/login 404(未找到)这个AJAX在.blade.php
文件中吗?这个AJAX在一个javscript文件中,链接成一个.blade文件。这个AJAX在一个.blade.php
文件中吗?这个AJAX在一个javscript文件中,链接成一个.blade文件。你能在一个外部javascript文件中这样做吗?刀片会被解析吗?不,但你可以把它放到一个新的.blade.php文件中代码>文件在视图文件夹中,并通过刀片@include('yourfile')
将其包含在外部javascript文件中,您可以这样做吗?刀片是否会被解析?否,但您可以将其放入视图文件夹中的新.blade.php
文件中,并通过刀片@include('yourfile')