javascript - 无法将ajax传递给 Controller ​​功能

标签 javascript php jquery ajax laravel-5

我正在尝试在 laravel 中使用 ajax 更新我的数据库。当我单击按钮(切换按钮)时,它应该将数据库启用列从 1 更新为 0。

这是在 View 中编写的脚本

$(".toggle-btn").change(function() {
    var id = $(this).attr('name'); // $(this) refers to button that was clicked

    $.ajax({
        url: '/adminpanel/dviulaan/stt',
        method: "post",
        data: {'id' : id} ,
        dataType: "json",

      });
});

这是我的路线

    Route::post('adminpanel/dviulaan/stt', 'AdminDvAnnouncement@status');

这里是 Controller 函数

public function status()
{
    $id = Input::all();

 if (Request::ajax()) {
    DvAnnouncement::where('announcement_id', $id)->update(
        [
            'enable' => '0',
            'user_updated' => Auth::user()->id,
            'updated_at' => new DateTime,
        ]);
}

        $response = array(
            'status' => 'success',
            'msg' => 'Option created successfully',
        );

        return Response::json( $response );

}

当我点击按钮时,它在控制台中显示以下错误

POST http://localhost/adminpanel/dviulaan/stt 500 (Internal Server Error)

请帮我找出错误。

我什至改变了 Controller 方法如下

public function status(Request $request)
    {
        $id = Input::get('id');

     if (Request::ajax()) {
        DvAnnouncement::where('announcement_id', $id)->update(
            [
                'enable' => '0',
                'user_updated' => Auth::user()->id,
                'updated_at' => new DateTime,
            ]);
    }

            $response = array(
                'status' => 'success',
                'msg' => 'Option created successfully',
            );

            return Response::json( $response );

    }

最佳答案

$id = Input::all(); => $id = Input::get('id');

UPD 记录后

包含在头部

<meta name="csrf-token" content="{!! csrf_token() !!}" />

然后改变功能

$(".toggle-btn").change(function() {
  var id = $(this).attr('name'); // $(this) refers to button that was clicked

  $.ajax({
    url: '/adminpanel/dviulaan/stt',
    method: "post",
    data: {'id' : id, '_token': $('meta[name="csrf-token"]').attr('content')} ,
    dataType: "json",

  });
});

关于javascript - 无法将ajax传递给 Controller ​​功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40050007/

相关文章:

javascript - Pagedown 使用类属性而不是 id

javascript - 将此代码放在我的 Angular 元素中的哪里?

javascript - 我想让我的菜单每次被点击时都被选中,并用选中的菜单更改页面

javascript - 自动完成 ="on"由于某些奇怪的原因无法正常工作

php - 在远程服务器上部署 laravel MySQL 数据库

java - 在 Android Activity 之间传递 PHP session

jquery - 可见选项元素的长度始终显示 `0`

javascript - 使用 jQuery 或 JavaScript 将 <span> 与 <a> 包裹起来

javascript - 如何在 DropZone.js 上为上传的图片创建缩略图?

php - SELECT QUERY 在一定时间内获得员工的帮助