在使用AJAX时,我需要有人指导我建立函数更新数据库。当我单击Accept按钮时,Ajax请求将发送到服务器,服务器将执行字段post_status的更新值。开始时,字段post_status has的值为“pending”,执行查询更新后,该值将更改为“accepted”。我下一步该怎么办?请帮帮我。非常感谢你的帮助。
post_id user_id title content DateTime post_status
1 1 Title 1 Content 1 Time pending
2 2 Title 2 Content 2 Time pending
3 3 Title 3 Content 3 Time pending
4 4 Title 4 Content 4 Time pending
5 5 Title 5 Content 5 Time pending
<table class="table table-bordered">
<thead class="thead-inverse">
<tr>
<th>Post ID</th>
<th>User ID</th>
<th>Name User</th>
<th>Title</th>
<th>Content</th>
<th>Datetime</th>
<th>Status</th>
<th>Accept</th>
</tr>
</thead>
<tbody>
@foreach ($posts as $row)
<tr id="{{ $row->post_id }}">
<td>{{$row->post_id}}</td>
<td>{{$row->user_id}}</td>
<th>{{$row->users->name}}</th>
<td>{{$row->post_title}}</td>
<td>{{$row->post_content}}</td>
<td>{{$row->post_datetime}}</td>
<td>{{$row->post_status}}</td> {{-- The status of post that I wanna change the value to "accepted" --}}
<td>
<button class="btn btn-success accept-btn" data-postID="{{$row->post_id}}">Accept</button>
</td>
</tr>
@endforeach
</tbody>
</table>
<script>
$(document).ready(function () {
$('.accept-btn').click(function(){
var postId = $(this).attr('data-postID');
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
url: "{{route('posts.list_post_ajax')}}",
data: { postId: postId },
dataType: 'JSON',
success :function(response) {
console.log(response);
},
});
})
});
</script>
public function list_post_ajax(Request $request)
{
if(request()->ajax()){
$postId = $request->get('postId');
return response()->json(['success'=>$postId]);
// What's I should do next?
// Pls help me.
}
}
有很多方法可以做到这一点。这个将按照您的代码工作。使用$myObject-
更改视图
<td id="td{{$row->post_id}}">{{$row->post_status}}</td>
在控制器上
$postId = $request->get('postId');
$post = App\Post::find($postId);
$post->post_status= 'accepted';
$post->save();
return response()->json(['success'=>$postId,'message'=>'accepted']);
关于JS
$.ajax({
type: "POST",
url: "{{route('posts.list_post_ajax')}}",
data: { postId: postId },
dataType: 'JSON',
success :function(response) {
console.log(response);
$('td'+postId).html(response.message);
},
});
编辑:我在控制器上更新我的答案。你应该看看有说服力的文档
如何使用复选框使用Ajax仅更新表的一列? 我想使用复选框并更新我的列,值将是或。如果选中值为,否则。 是我列的名称 是我的行id 控制器功能 不知道怎么处理这个零件! 我的最新代码: 我的开关按钮未按预期工作,对于值打开,对于值关闭,开关始终处于关闭状态 问题是为"什么是PHP运算符"?"":"打电话来,他们是做什么的?"解释了我必须使用
嘿,伙计们,我正在使用Laravel5.7,我正试图发出一个ajax post请求来更新我的数据库。ajax将基于checkbox on change函数发布。例如,如果我关闭复选框,它将发送一个请求,并将我的状态更新为my表中的。尝试之后,我出现了一个错误。有人注意到我做错了什么吗?抱歉,如果我的代码中有一些错误的代码或语法,因为我对Ajax非常陌生。任何帮助都将不胜感激。 AJAX 路线 控制
全部的 只是想看看用表单中提交的数据更新数据库行的最佳选项是什么。我理解Laravel更新查询生成器,但是我在如何获取表单数据,然后执行该查询方面遇到了困难。相对较新的Laravel:)这是我想出的,只是从我的PHP经验和逻辑: 我曾试图将查询放入一个函数中,然后让表单操作成为函数: 正如我所说,主要问题是试图让命名的表单对象成为更新行的对象。我有两个文本输入字段,分别命名为“body”和“not
我想用AJAX和Laravel5.2框架更新数据库表列。我有一个按钮,当我点击该按钮时,它会将一列从更新为。我还使用sweetAlert插件进行弹出式设计。我找了很多。但我没有找到完美的程序。我试过这样做: 路线: WinnerController: 视图中的脚本: 刀片: 刀片前端: 这是更新栏,但更新后它重定向了另一个页面,它只显示弹出它不需要提交弹出的确认按钮。有办法这么做吗?有人能回答我下
问题描述 我输入sqlite3 -version,显示版本变化,我安装项目依赖sqlite-devel 和python-devel没有更新,Python -V版本未变 问题出现的环境背景及自己尝试过哪些方法 我是初学者,在学习过程中怕版本不对,于是我就选择文章指定版本进行安装,尝试过的办法就是在网上找安装项目依赖命令,找了几个试都未成功 相关代码 粘贴代码文本(请勿用截图) ··· yum ins
我为我的应用程序构建了一个应用程序接口,它位于一个带有请求限制的网关后面。在我构建应用程序接口之前,我的应用程序会自行协调请求,因此可以在毫秒内启动许多请求,以便在用于获取数据的9个提供程序中同步应用程序的数据。现在,这个逻辑已经被推到我的应用程序接口适配器层。我需要考虑如何控制每秒请求的数量,以避免达到我自己的速率限制。提高速率限制不是一个选项,因为这需要网关提供程序的层冲击,我不愿意为此付费。