如何解决OctoberCMS回调,用于在AJAX请求后成功执行数据库操作
我通过Chrome扩展程序通过AJAX向我的OctoberCMS控制器发送数据。
如何在Chrome扩展程序中识别出数据库操作成功?
因此,目标是在成功更新数据库后,可以在AJAX调用中使用done()
。
我是否必须从控制器中退回东西?
扩展名中的Ajax
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},url: "/saveData",type: "POST",dataType: "JSON",data: { "data": data}
}).done(function((){//does nothing});
OctoberCMS Controller
function saveData(Request $request)
{
$data = post('data');
//do some actions with the data;
DB::table('users')->where(['id' => Auth::getUser()->id])->update(['data' => $data]);
}
解决方法
您可以检查响应
从服务器端
function saveData(Request $request)
{
$data = post('data');
//do some actions with the data;
DB::table('users')->where(['id' => Auth::getUser()->id])->update(['data' => $data]);
// if all good return success
return ['success' => true];
// if something is not correct
// return ['success' => false];
}
客户端
$.ajax({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},url: "/saveData",type: "POST",dataType: "JSON",data: { "data": data}
}).done(function((data){
if(data.success == true) {
// yes all good data is updated
}
else {
// data is not updated some error handling
}
}).fail(function() {
// data is not updated some error handling
// failed in case server is not able to answer or error
});
如有疑问,请发表评论。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。