当前位置: 首页 > 知识库问答 >
问题:

Laravel AJAX update无法更新DB中的值

隆扬
2023-03-14

控制器中的功能

public function updateajax(Request $request)
{
    $item= Model::where('unq_identifier', $request->unq_identifier)->first();
    $item->status= $request->status;
    $item->save();
    return response()->json($item);
}

Ajax函数

$.ajax({  
                url:'/main-tables/update-ajax/' + id,  
                method:'PUT',  
                data:{
                    _token: CSRF_TOKEN,
                    status: value,
                    unq_identifier: unq_identifier,
                    user_id : {{ Auth::user()->id }}
                    },  
                success:function(data){  
                    // if(data == "updated")
                    console.log(data);
                }  
            });

当我在success函数中打印数据时,这里的对象有更新的值,但是数据库中的项目没有更新。

共有1个答案

索梓
2023-03-14

您应该将每个DB交互查询打包到try-catch块中。最好的做法是查看DB操作是否成功

public function updateajax(Request $request)
{
    try {
        DB::beginTransaction();
        $item= Model::where('unq_identifier', $request->unq_identifier)->first();
        $item->status= $request->status;
        $item->save();
        DB::commit();
        return response()->json($item);

    } catch (Exception $e) {
        DB::rollBack();
        return response()->json($e->getMessage(), 400);
    }
}

现在,通过检查api响应来查看您的查询是否成功执行。

 类似资料:
  • 我在数据库中有一个集合“documentDev ”,其切分关键字为“dNumber”样本文档: 如果我尝试使用任何查询工具更新这个文档,比如- 它会正确更新文档。但是如果我确实使用了Spring boot的mongorepository命令,如DocumentRepo.save(Object),它会引发异常 由以下原因引起:com.mongodb.MongoCommandException:命令失

  • 问题内容: 我一直在尝试找出如何更新dynamoDB中的项目,但没有成功。 我知道如何添加和删除项目,但不更新。 这是我的代码: 问题答案: 看来您正在尝试使用Expression更新项目,在这种情况下,您不正确。无论是和用于占位符代替你的表达。 我想如果您想为某项设置属性,您的代码将类似于以下内容: 这将更新一个看起来像这样的项目: 对此:

  • 我在Tasklet中编写了一个业务逻辑,在该逻辑中,我向外部Systema的队列之一发送一条消息,然后使用operator.stop()方法停止作业(有时响应来得很晚,所以我通过停止spring批处理作业来释放系统资源)。 一旦收到来自systemA的回复,我需要再次从上次完成的作业重新启动作业。 这就是我在tasklet中所做的。 我现在面临的问题是,当消息被发送到systemA队列时,我立即得

  • 我有一个问题,而更新数据到laravel数据库。通常情况下,数据通过存储功能(POST请求)插入到数据库中。但是更新POST请求不会对数据库进行更新。我的密码是 routes.php 定制etail.php 控制器CustomerDetailController。php 当我发出存储为的后请求时,数据会被插入 带输出 但是当我尝试用PUT或PATCH请求更新相同的数据时 输入 我得到JSON响应作

  • 我正在尝试将chromedriver从2.30升级到2.35。不过在我< code>brew安装chromedriver之后,默认的chromedriver还是2.30。如果我重做brew,它会告诉我已经安装了2.35版本,但当我使用< code > chrome driver-version 时,它仍然显示2.30。有人能告诉我为什么吗?我能知道这个brew安装在哪里吗? 谢谢! < code

  • 我想要一个始终可见的和es。单击“我的代码未更新”框中的“我的代码未更新”。

  • 我只是启动libgdx,这看起来很简单,但我不明白。screen对象中的render方法将调用WorldRenderer中的render方法: //屏幕呈现方法

  • 问题内容: 我在Mac上使用Flask(python软件包)时,第一次写css时显示正常。但是,当我更新它并尝试检查它时,我只看到第一个CSS样式。我尝试重新启动终端,以及重新安装Flask。有什么建议?谢谢。以下是HTML: 这是CSS: 问题答案: 如前所述,问题与浏览器缓存有关。 为了解决这个问题,你可以向静态(css,js)链接中添加一些动态变量。我更喜欢每个文件的上次修改时间戳。 这是一