【问题标题】:Routing in laravel, resolving URL in ajax在laravel中路由,在ajax中解析URL
【发布时间】:2014-04-17 12:46:06
【问题描述】:

所以我试图理解 laravel 中的路由,但恐怕没有太大的成功。我当前的问题是我正在尝试路由,以便我的登录功能(使用 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);
            }

现在据我了解,解析 URL 可能会解决我的问题。但是,无论我操纵 url 部分,我都无法下定决心工作。我只收到语法错误或错误的请求错误。如果 laravel 中为此内置了一些东西,为了获得独立于 URL 更改的正确路由,我将非常感谢此类功能的任何提示。我无法在文档中找到/理解任何可以解决我的问题的内容。否则,如果有人能告诉我如何正确编写 ResoleUrl,那也将不胜感激。然而,了解 laravel 路由可能会更好地为我服务!预先感谢!

【问题讨论】:

  • 这个 AJAX 是否在 .blade.php 文件中?
  • ajax 在 javscript 文件中,链接到 .blade 文件中。

标签: javascript php jquery ajax laravel


【解决方案1】:

将 ajax 中的 url 更改为:

url:"/login"

【讨论】:

  • 哇.. 好吧,谢谢你!我在找什么!但是,它仍然不起作用,我得到以下信息:POST localhost/login 404 (Not Found)。我是否还需要更改路线本身的某些内容?
  • @user3084471 没有意识到您在本地主机上。假设您在 localhost/myapp 等子文件夹中工作?如果是这样,那么您可以/myapp/login (它会起作用,但如果您更改子文件夹,或者您进入没有子文件夹的真实域,则必须更改它)。另一种选择是将 laravel app/config/app.php 中的域设置为您的“基本 url”,例如 localhost/myapp 然后使用内置的 url 解析器 URL::to('login')
【解决方案2】:

在你的路线上试试这个。

Route::any('login', ['uses' => 'LoginController@doLogin', 'as' => 'login']);

【讨论】:

  • 感谢您的提示。不幸的是,它没有用。得到以下错误:POST localhost/login 404 (Not Found)
【解决方案3】:

让 Laravel 为你做。

命名您的路线...

Route::post('login', array('uses' => 'LoginController@doLogin', 'as' => 'ajax.doLogin'));

通过 Javascript 中的名称链接到您的路线...

url: "{{ URL::route('ajax.doLogin') }}",

【讨论】:

  • 你能在外部 javascript 文件中做到这一点吗?刀片会解决吗?
  • 否,但您可以将其放入 views 文件夹中的新 .blade.php 文件中,并通过刀片 @include('yourfile') 包含它
猜你喜欢
  • 1970-01-01
  • 2016-06-14
  • 1970-01-01
  • 2018-03-11
  • 2020-08-26
  • 2016-10-22
  • 2020-11-10
  • 2016-03-10
  • 2013-09-05
相关资源
最近更新 更多