如何使用Jquery和Ajax Laravel 5.4切换数据库中的布尔值 - javascript

我创建了一个按钮来批准表中的一行,但似乎一切都只发生在检查中,而mysql Database Boolean Column中没有任何变化

我的按钮

<td><button><a href="/getapprove"><span class="approva" name="appro">Approve</span></a></button></td>

这是我的脚本部分

@section('scripts')
<script type="text/javascript">

$(document).ready(function(){
  $(".approva").click(function(e) {
    e.preventDefault();
    var id = $(this).closest('tr').attr('id');

    $.ajax({
            type:'POST',
            url:'/getapprove',
            headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}' },
            data: {"id":id},
            success: function(data){

             console.log('changed successfully')


            }
        });
    });
});
</script>
@endsection

我的路线文件

Route::post('/getapprove','AdminalterdetailController@approve')->name('approved');

控制器功能:
'条件'是我在数据库中的布尔列

public function approve(Request $request){
$rpt = Fielddetails::findOrFail($request->id);
if ($rpt->condition == 1){
    $rpt->condition = 0;
} else {
    $rpt->condition = 1;
}

$rpt->save();

我如何才能获得上述工作?

javascript大神给出的解决方案

我会这样的

在数据库表中,布尔值condition列的类型必须为tinyInt

Fielddetails.php

/**
 * The attributes that are mass assignable.
 *
 * @var  array
 */
protected $fillable = [
    'condition' // <-- make sure you have added this in your model file
];

路线/web.php

Route::get('/getapprove/{id}','AdminalterdetailController@approve')
    ->name('approved');

{id}是您要更新的表的ID。

控制者

/**
 * Approve the data of the given id.
 *
 * @param   integer  $id
 * @return  Your-Response-Or-Redirect
 */
public function approve($id, Request $request)
{
    $rpt = Fielddetails::findOrFail($id);

    if ($rpt->condition == true) {
        $rpt->update(['condition' => false]);
    }

    if ($rpt->condition == false) {
        $rpt->update(['condition' => true]);
    }

    // return your success response or redirect
}

jQuery的

<script type="text/javascript">
    $('body').on('click', '.approva', function(e) {
        e.preventDefault();

        $.ajax({
            type: 'GET',
            url: $(this).attr('href'),
            success: function(data) {
                console.log(data);
            },
            error: function(err) {
                console.log(err);
            },
        });
    });
</script>

请注意,每当用户想要单击批准链接时,我都会处理click事件。

这是因为,我假设将存在多个具有相同链接的记录具有不同ID的记录。

table.blade.php

<td>
    <a href="{{ route('approved', $yourId) }}" class="button approva">
        Approve
    </a>
</td>

$yourId替换为您的实际记录ID。

要进行引用,可以查看this question。它是关于使用AJAX删除记录的,与您的问题不同,但是它一定会对您有所帮助。

编码愉快。干杯..

剃刀付款集成->如何通过关闭按钮X检测剃刀付款模型是否关闭 - javascript

当用户关闭而无需付款时,我在CI框架中使用Razorpay,请创建razor支付模型,然后取消订单,我希望按状态更改为已取消的状态触发查询。所以我怎么能检测到这一点。我已经通过单击jQuery单击关闭功能但无法使用... javascript大神给出的解决方案 Razorpay提供了JS方法来检测模式关闭。您编写的任何JS代码都不会在结帐页面上运行,因为它是…

服务器响应后如何在Symfony2中显示警报或信息消息而无需重新加载页面 - javascript

我正在用Symfony2为配镜师创建一个管理应用程序。当管理员将新客户添加到数据库时,我的控制器将检查客户名称是否重复。我想显示一个弹出对话框,询问用户是否要添加新客户。我该如何实施?我应该使用Ajax吗?这是我在这种情况下使用的控制器的示例代码:public function nouveauAction(Request $request) { $form …

在Wordpress插件中加载自定义JavaScript - javascript

好的,这让我发疯了:我正在尝试构建一个简单的Wordpress插件,并且正在尝试确保js与php分开。我已经看过了法典和各种教程,但要么都是在做假设,要么是我只是个白痴,因为它不起作用...基本上,我最终希望通过ajax向自定义添加一些行添加帖子时使用表格,但首先我要让“ Hello World”在“添加帖子”页面上工作...当然,这很简单:这是myplug…

jQuery val函数在隐藏字段上不起作用? - javascript

这是我的HTML代码:<div style='display:none;' id='allformid'> <div> <form action='#'> <input type='text' name='name' …

对Flask-Admin字段覆盖使用ACE语法荧光笔 - javascript

在遵循以下有关覆盖flask-admin字段的提示之后,我试图使Ace语法荧光笔工作。https://flask-admin.readthedocs.io/en/latest/advanced/#wysiwig-text-fields这个想法是使SQLServer语法在wtforms文本区域上突出显示。此尝试不起作用,不确定额外的js中还包括什么?class…