(на основе предоставленного вами кода)
Я думаю, что проблема в вашей функции обратного вызова always()
или событии Cliek
или вашем выражении возврата.
всегда ():
Функция обратного вызова, переданная функции always()
, вызывается всякий раз, когда завершается запрос AJAX, независимо от того, * 1083 или нет * Запрос успешно или неудачно. Три параметра, переданные в функцию обратного вызова, будут либо теми же тремя параметрами, которые передаются в done()
, либо fail()
, в зависимости от того, успешно или нет запрос AJAX.
В ответ на успешный запрос, аргументы функции такие же, как у .done(): data, textStatus, and the jqXHR object
. Для неудачных запросов аргументы такие же, как и у .fail(): the jqXHR object, textStatus, and errorThrown
.
Метод deferred.always()
получает аргументы, которые использовались для .resolve()
или .reject()
Отложенного объекта, которые часто сильно отличаются. По этой причине лучше использовать его только для действий, которые не требуют проверки аргументов. Во всех других случаях используйте явные обработчики .done()
или .fail()
, поскольку аргументы будут иметь хорошо известные порядки.
Ссылка:
http://tutorials.jenkov.com/jquery/ajax.html
https://api.jquery.com/jquery.ajax/
https://api.jquery.com/deferred.always/
ИЛИ
Событие Cliek: Мне кажется, ваша кнопка вызывает обновление страницы sh. поэтому используйте preventDefault()
в вашем событии клика.
Пример:
$('...').on('click', function (event) {
event.preventDefault();//add the prevent default.
//Your code
});
ИЛИ
Оператор возврата: Если ваш OnPostDelete
метод возвращает Page()
пожалуйста, измените его на JsonResult
или RedirectToPage
.
Пример:
public Task<IActionResult> OnPostDelete(int? id)
{
if (id == null)
{
return NotFound();
}
//Your Code
return Page();//Remove it
return new JsonResult ("Customer Deleted Successfully!");// Use some thing like it as u need.
return RedirectToPage("./Index");//if u want to reload page then use it.
}