Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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 在laravel中路由,在ajax中解析URL_Javascript_Php_Jquery_Ajax_Laravel - Fatal编程技术网

Javascript 在laravel中路由,在ajax中解析URL

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

因此,我试图了解拉雷维尔的路由,但恐怕没有多大成功。我目前的问题是,我正在尝试路由,以便我的登录功能(使用ajax检查)可以从站点上的所有页面访问。目前我只能从我的索引中找到它。我使用以下方法

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')