我想使用ajax来执行此操作,但是我尝试了所有看到的引用,但似乎仍然无法正常工作。我是使用laravel的初学者,请帮助我。
这是我在控制器中的方法
public function delete(Request $request, $id)
{
$validator = Validator::make(Input::all(), $this->rules);
if ($validator->fails()) {
$errorMessage = Config::get('const.error.common.missing_required.desc');
$errorContainerHtml = parent::renderErrorContainerView($errorMessage);
$response = response()->json(compact('errorContainerHtml'), 400);
} else {
try {
$codes = Model::select ('id', 'status'))
->whereId($id)
->first();
if ($codes ->status == 1){
$codes ->status = 0;
}else{
$codes ->status = 1;
}
$codes ->save();
$response = response()->json($codes );
} catch (\Exception $e) {
$errorMessage = Config::get('const.error.common.system_error.desc');
Log::error($e);
$errorContainerHtml = parent::renderErrorContainerView($errorMessage);
$response = response()->json(['error' => compact('errorContainerHtml')], 500);
}
}
return $response;
}
这是我的ajax
$('.modal-footer').on('click', '#delete', function() {
loader.show();
$.ajax({
type: 'POST',
url: '/master/rgbCodes/changeStatus',
data: "status=" + status,
success: function(data) {
if(data == 1){
$(data.status == 0);
showAlertSuccess('<b>Successfully added RGB Code information.</b>');
window.location.reload();
} else {
$(data.status == 1);
}
},
error: data => {
showAlertDanger(data.responseJSON.error.errorMessage);
loader.hide();
},
complete: () => {
loader.hide();
}
});
});
这是我的模态和路线
<div id="deleteModal" class="modal fade" role="dialog">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-body">
<p class="font-weight-bold">Are you sure you want to deactivate this data?</p>
<input type="hidden" name="status" id="status">
</div>
<div class="modal-footer smarts-modal-footer">
<button type="submit" class="btn btn-light" data-dismiss="modal" id="delete">Yes</button>
<button type="button" class="btn btn-light" data-dismiss="modal">No</button>
</div>
</div>
</div>
</div>
Route::post('/master/rgbCodes/status/{status}', 'RgbCodeController@changeStatus')->name('master.rgbCodes.changeStatus');
我打算做的是,当用户单击废纸button按钮时,如果他们确定要停用此用户,将出现确认模式。如果他们单击“是”,则表中他们单击“废纸icon”图标的特定行中的状态将为“不活动”。但我无法做到这一点,我花了2天的时间来解决此问题,并继续重复在线上看到的所有方法。
请不要忽略这一点。谢谢!
答案 0 :(得分:0)
将其放入您的确认模式
<script>
function Confirm(my_function) {
$('#confirm-modal').modal('toggle');
$('#my-confirm-button').on('click', function () {
my_function();
$('#confirm-modal').modal('toggle');
})
};
</script>
然后将其添加到您的垃圾箱按钮事件
$('#my-button').on('click', function () {
Confirm(function () {
//Do your thing, change the table properties here
});
});