Переход / перезагрузка на ту же страницу из функции успеха Ajax при просмотре бритвы в MVC - PullRequest
0 голосов
/ 22 мая 2019

Вот мой Ajax-вызов, я вызываю API, который обновляет базу данных, и я хочу, чтобы страница перезагружалась при успешном выполнении функции.

 $("#Pendingbookings").on("click", ".AcceptBooking", function () {
                    var button = $(this);
                    bootbox.confirm("Are you sure you want to accept this booking?", function (result) {
                        if (result) {
                            var Booking = { BookingID: button.attr("data-BookingId") }
                            var url_redirect = '@Url.Action("GetBookingsByStatus", "Booking")';
                            $.ajax({
                                url: "/api/AcceptBooking/AcceptBooking",
                                method: "PUT",
                                data: Booking,
                                dataType: 'json',
                                success: function (response) {
                                    window.location.href = url_redirect;
                                }
                            });
                        }
                    });
                });

Ajax-вызовы работают нормально, данные обновляются в базе данных, но никогда не перезагружают страницу и не вызывают метод action при успешном вызове

API

[HttpPut]
        public IHttpActionResult AcceptBooking(Booking BookingID)
        {
            //Write the function to update booking and accept it.
            if (!ModelState.IsValid)
            {
                return BadRequest();
            }

            int bookingID = BookingID.BookingID;

            var bookingInDB = _context.Booking.SingleOrDefault(c => c.BookingID == bookingID);

            if (bookingInDB == null)
            {
                return NotFound();
            }
            else
            {
                bookingInDB.BookingAccepted = true;
            }

            _context.Entry(bookingInDB).State = EntityState.Modified;

            _context.SaveChanges();

            return Ok();
        }


1 Ответ

1 голос
/ 23 мая 2019

Пожалуйста, попробуйте удалить dataType из вызова ajax.

 $.ajax({
         url: "/api/AcceptBooking/AcceptBooking",
         method: "PUT",
         data: Booking,                    
         success: function (response) {
         window.location.href = url_redirect;
         }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...