我是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)
这有什么不对?
在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
.
阅读更多关于路线的信息.
归档时间: |
|
查看次数: |
3776 次 |
最近记录: |