Laravel 4 + AJAX无法正常工作

use*_*495 4 php ajax symfony

我是Laravel 4的新手,我正在尝试测试AJAX请求.

在我,script.js我有这个:

(function() {
  $("#login-submit").click(function(e) {
    e.preventDefault();
    return $.ajax({
      type: "POST",
      url: "laravel/ajax/login", //i put my public in "localhost/laravel/public/"
      cache: false,
      data: 'email:' + $("#email").val(),
      success: function(data) {
        return alert(data);
      },
      error: function(response) {
        return alert("ERROR:" + response.responseText);
      }
    });
  });

}).call(this);
Run Code Online (Sandbox Code Playgroud)

从这个html文件调用:

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>

<body>
    <form>
        <label for="email">Email: </label>
        <input type="text" id="email" />

        <label for="email">Password: </label>
        <input type="password" id="password" />

        <button id="login-submit">Log In</button>
    </form>

    <script type="text/javascript" src="assets/js/jquery/jquery.custom.js"></script>
    <script type="text/javascript" src="assets/js/script.js"></script>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

控制器类:

class AuthController extends BaseController
{
    public function login()
    {
        echo 'success';
    }
}
Run Code Online (Sandbox Code Playgroud)

和路由器:

Route::get('/', function() {
    return View::make('homepage');
});

Route::post('/ajax/login', 'AuthController@login');
Run Code Online (Sandbox Code Playgroud)

通过单击Log In它应该回显"成功",但它会抛出此错误:

ERROR:{
    "error": {
        "type": "Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException",
        "message": "",
        "file": "C:\\xampp\\htdocs\\laravel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php",
        "line":1429
    }
}
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

Abd*_*ziz 7

在AJAX调用中,更改:

  url: "laravel/ajax/login",
Run Code Online (Sandbox Code Playgroud)

至:

  url: "ajax/login",
Run Code Online (Sandbox Code Playgroud)

你的路线正在听ajax/login,而不是 laravel/ajax/login.

阅读更多关于路线的信息.