gpt4 book ai didi

javascript - AJAX 路由不适用于 Laravel 中的自定义函数

转载 作者:行者123 更新时间:2023-11-28 07:58:04 25 4
gpt4 key购买 nike

我正在使用Laravel 4.2.6

这是我的函数,其中对名为 savesession 的 Controller 方法进行 ajax 调用

function saveActualSession() {
return $.ajax({
url: 'savesession',
data: {
my_username: $('input#username').val()
},
type: 'POST',
dataType: 'json',
success: function(response) {
console.log("success");
}
});
}

在 Controller 中我有这个:

public function savesession()
{
if(Request::ajax())
{
$my_username = Input::post('my_username');
if ($my_username) { Session::put('my_username', $my_username); }
return $my_username;
}

}

session 保存是在我的 javascript 代码中的不同位置触发的:

saveActualSession()
.done(function(e) {
// Things to be done after saving session
})
.fail(function(e) {
alert('oh no!')
});

问题是它在控制台中给了我这个错误:

“网络错误:500 内部服务器错误 - http://laravelsite.dev/savesession”

这很奇怪,因为 url 100% 存在,因为当我尝试在 Controller 中执行此操作时:

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 函数来获取 session ,并且该路由工作正常并且没有显示服务器错误。

有什么想法吗?

最佳答案

你的方法有误。只需更改...

$my_username = Input::post('my_username');

对此...

$my_username = Input::get('my_username');

在此上下文中,Get 并不是指 HTTP 方法,而是指 Laravel 正在做的事情 - 获取输入值。该值可以是 GET 或 POST,实际上没有什么区别。

关于javascript - AJAX 路由不适用于 Laravel 中的自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25821969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com