2013-10-03 113 views
4

我对Laravel 4非常陌生,我试图测试AJAX请求。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); 

也就是从这个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> 

控制器类:

class AuthController extends BaseController 
{ 
    public function login() 
    { 
     echo 'success'; 
    } 
} 

而且路由器:

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

Route::post('/ajax/login', '[email protected]'); 

点击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 
    } 
} 

什么是错的呢?

+0

解决url问题后,控制器的功能登录回声成功..? – John

+0

@John:它已经解决了,谢谢回答 – user2002495

+0

你是否尝试过使用ajax登录验证错误。请参考这篇文章http://wsnippets.com/create-ajax-login-laravel-4/是不错的一个 – user2943773

回答

7

在AJAX调用,更改:

url: "laravel/ajax/login", 

要:

url: "ajax/login", 

您的路线是听ajax/loginlaravel/ajax/login

了解更多关于路线here

+0

是的,它现在的作品,现在实际上有另一个问题,谢谢回答 – user2002495

+1

@ user2002495你可以随时在此提交,我们很乐意提供帮助。 – Abdulaziz

+0

我可以知道谁投了我的问题 - 即使它解决了问题? – Abdulaziz