Skip to content Skip to sidebar Skip to footer

Extend Isajaxrequest() To Include Fetch Api Requests

I am currently building a site using MVC5 and I need to serve different content when an ajax request is made. Usually we use jQuery and make an ajax request using $.ajax, but recen

Solution 1:

Ok looking into this further, I cannot seem to find any standard header being sent with the request so I have created my own header:

const request = new Request(url, {
  headers: new Headers({
    'X-Is-Ajax-Request': 'True'
  })
});

return fetch(request)
  .then(html => {
    const$result = $(html);
    const$content = $result.filter('.js-sidebar-panel-content');
    return$content.length ? $content : $result;
  });

Then I was able to update my extension with:

publicstaticboolIsAjaxOrFetchRequest(this HttpRequestBase request)
{
    if (request != null && request.Headers != null)
    {
        if (request.Headers["X-Is-Ajax-Request"] != null)
        {
            returnbool.Parse(request.Headers["X-Is-Ajax-Request"]);
        }
    }

    return request.IsAjaxRequest();
}

Post a Comment for "Extend Isajaxrequest() To Include Fetch Api Requests"