【发布时间】:2014-11-07 10:34:10
【问题描述】:
我正在使用 Laravel 4.2.6
这是我的函数,通过 ajax 调用控制器的方法 savesession
function saveActualSession() {
return $.ajax({
url: 'savesession',
data: {
my_username: $('input#username').val()
},
type: 'POST',
dataType: 'json',
success: function(response) {
console.log("success");
}
});
}
在控制器中我有这个:
public function savesession()
{
if(Request::ajax())
{
$my_username = Input::post('my_username');
if ($my_username) { Session::put('my_username', $my_username); }
return $my_username;
}
}
会话保存在我的 javascript 代码中的不同位置触发:
saveActualSession()
.done(function(e) {
// Things to be done after saving session
})
.fail(function(e) {
alert('oh no!')
});
问题是它在控制台中给了我这个错误:
"NetworkError: 500 Internal Server Error - http://laravelsite.dev/savesession"
这很奇怪,因为 url 100% 存在,因为当我尝试在控制器中执行此操作时:
public function savesession()
{
if(Request::ajax())
{
$my_username = Input::post('my_username');
if ($my_username) { Session::put('my_username', $my_username); }
return $my_username;
}
else
{
print_r("url is working");
die();
}
}
我直接在浏览器中访问该网址,例如:
http://laravelsite.dev/savesession
它给我的 print_r 消息 url 不起作用,它死了。
顺便说一句。我的路线如下所示:
Route::any('savesession', ['as' => 'savesession','uses' => 'RegistrationController@savesession']);
我做错了什么?
我有一个类似的 AJAX 函数来获取会话,并且该路由工作正常并且没有显示服务器错误。
有什么想法吗?
【问题讨论】:
-
Input::post(...) ...我想你想要 Input::get(...)
标签: javascript php ajax laravel laravel-4