Я использую jquery для отправки в действие контроллера MVC, которое возвращает таблицу информации. Пользователь страницы вызывает это, нажимая на различные ссылки.
В случае, если пользователь решит быстро щелкнуть по паре этих ссылок, я хотел отменить любой предыдущий запрос ajax, который, возможно, не завершился.
Я обнаружил, что когда я делаю это (хотя это нормально из POV клиента), я получаю ошибки в веб-приложении о том, что
"The parameters dictionary contains a null entry for parameter srtCol of non-nullable type 'System.Int32'"
Теперь пост ajax определенно передает все параметры, и если я не пытаюсь отменить запрос ajax, он работает просто отлично.
Но если я отменю запрос, вызвав abort () для объекта XMLHttpRequest, который ajax () возвращает до его завершения, я получаю ошибку из ASP.Net MVC.
Пример:
//Cancel any pevious request
if (req)
{
req.abort();
req = null;
}
//Make new request
req = $.ajax({
type: 'POST',
url: "/Myapp/GetTbl",
data: {srtCol: srt, view: viewID},
success: OnSuccess,
error: OnError,
dataType: "html"
});
Я заметил, что это происходит только в IE8. В FF это, похоже, не решает проблему.
Кто-нибудь знает, как отменить запрос ajax в IE8, не вызывая ошибок для MVC?
Спасибо за любую помощь.