я использую asp.net mvc2 для моего приложения.У меня есть запрос AJAX, отправленный с помощью JQuery.
$.ajax{(
url:'/home/index'
type:'post',
data:$('#myform').serialize(),
dataType:'html',
success:function(response)
{
//update relevent document portion
}
});
вот мой метод контроллера
public ActionResult index(Book book)
{
Repository _repo = new Repository();
_repo.Add(book);
_repo.Save();
if(Request.IsAjaxRequest())
{
return RedirectToAction("List",new{id=book.id});
}
//do something else
}
public ActionResult List(int id)
{
if(Request.IsAjaxRequest())/* here it always returns false even though its been redirected from an ajax request to get here*/
{
//do something
}
}
в index actionresult Index.IsAjaxRequest () работает правильно, но когда он перенаправляется в List actionresult, он не идентифицирует его как запрос ajax.Как я могу узнать, что список вызывается из перенаправления ajax? Edit1: Request.IsAjaxRequest возвращает true в IE для обоих методов index и List, тогда как в firefox Request.IsAjaxRequest имеет значение true только для метода index.когда я проверял код для запроса ajax, я мог видеть два из них;первый - это метод post to index, а второй - метод Get from List.IE отправляет заголовок x-required-with с обоими запросами, в то время как firefox отправляет этот заголовок только для первого запроса, предназначенного для метода index.Как я могу заставить Firefox работать так же, как IE (только в этом сценарии), то есть посылать заголовок x-required-with с обоими запросами в случае, когда второй запрос не был получен от клиента, а является перенаправлением от первого запроса.спасибо