Я хочу показать сообщение, если ajax был успешным или нет. Код работает до сих пор, но я хотел бы добавить некоторые сообщения.
Моя функция удаления контроллера:
public function destroy(Request $request, $streamID = 0)
{
$stream = Stream::find($streamID);
if($stream)
{
$stream->delete();
File::delete($stream->image);
return redirect()->route('stream.index')->with('success', 'Hooray');
}
else
{
return redirect()->route('stream.index')->with('success', 'Not Hooray');
}
}
И часть успеха и ошибки ajax:
success: function(data) {
// show message?
},
error: function(data) {
// show message?
}
Вместо перенаправления из вашего php-кода, перенаправляйте из своей функции ajax и отправляйте ответ json на вашу функцию ajax как
public function destroy(Request $request, $streamID = 0)
{
$stream = Stream::find($streamID);
if($stream)
{
$stream->delete();
File::delete($stream->image);
return response() ->json(['code'=>200,'success' => 'Hooray']);
}
else
{
return response() ->json(['code'=>400,'success' => 'Not Hooray'])
}
}
и в вашей функции успеха ajax
success: function(response) {
alert(response.success);
window.location.href = 'stream.index';
},
error: function(data) {
// show message?
}
Если вы используете загрузчик, добавьте его в любом месте, где вы хотите, чтобы ваше предупреждение отображалось
<div id="ajax-alert" class="alert" style="display:none"></div>
Измените свой сценарий так:
success: function(response){
If(response.code === 200) {
$('#ajax-alert').addClass('alert-sucess').show(function(){
$(this).html(response.success);
});
}
If(response.code === 400){
$('#ajax-alert').addClass('alert-danger').show(function(){
$(this).html(response.success);
});
}
},
error: function(data) {
alert ('Ajax run unsuccessful');
}
Я обновил предыдущий ответ на это:
....
if($stream) {
$stream->delete();
File::delete($stream->image);
return response()->json(['code'=>200,'success' => 'Hooray'],200);
}
else {
return response()->json(['code'=>400,'success' => 'Not Hooray'],200);
}
alert
?