首页 > Web开发 > 详细

How to send Ajax request, using HttpClient

时间:2020-09-09 12:12:03      阅读:79      评论:0      收藏:0      [点我收藏+]

How to send Ajax request, using HttpClient

Well, Actually you can‘t send real AJAX request using HttpClient, but you can simulate it by adding XMLHttpRequest to request header like this:

client.DefaultRequestHeaders.Add("X-Requested-With", "XMLHttpRequest");

Here is a Helper method which requires Microsoft.AspNet.WebApi.Client nuget package:

    private async TResponse CreateHttpRequestAsync<TRequest, TResponse>(Uri uri, TRequest request)
        where TRequest : class
        where TResponse : class, new()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Add("X-Requested-With", "XMLHttpRequest");
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            //client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _bearerToken);
            var response = await client.PostAsJsonAsync(uri, request);
            if (response.StatusCode == HttpStatusCode.OK)
            {
                var json = await response.Content.ReadAsStringAsync();
                return JsonConvert.DeserializeObject<TResponse>(json);
            }
            else if(response.StatusCode == HttpStatusCode.Unauthorized)
            {
                throw new UnauthorizedException();
            }
            else
            {
                throw new InvalidOperationException();
            }
        }

    }

 

POST http://localhost:8086/UK_60_Dev_Admin_Refactor/SelfRegistration/SelfRegistrationFormConfigurations HTTP/1.1
Host: localhost:8086
X-Requested-With: XMLHttpRequest
Cookie: __RequestVerificationToken_L1VLXzYwX0Rldl9BZG1pbl9SZWZhY3Rvcg2=L1r1hK6Veh32YofJUuQo0dBo4nm9jrVxB4MO44gq_AJXSbbSsGMU2-n3I0ppcIB5Q8cX3w2; AdminSession=lb5ymrsj0bic13j1icqmnslk; EdenredAdminSite=CA5A4E148A0ADF50AE0D44BABF0A6CB22613371D7EAE542C1FB6B643C25C99503D4C6FC03D45E56723BE65F049ECD846E356FB8B84326D1756096A63377CA8E5166F378C95ED0D20F7E77E54136F5ADF46D1266213B5628AF77CB588C14BBA991EED25642B6EC4F6C1AADBEDAFE92A8317DBC39768F4D77FDA6363D4EF591E937C55F8AFBFFC432895A62C39ADF029BCF1210D3B0ACCDAB0B79FB11B7D530CBAA1B2F036A6FA6F2EAED06198B16588546C242BD927430D01BF9C7BDDF499C8D5D591D6493106FA0BFC4830D9CE15C61483BDF27D10083EE398CB4C657CEAB3846DD220EF04AB0AB03D7D3AFD840B43702EAAD50E40F58F446F56C6FB885F6880777E3DAAC5AFCA9659A0C8817625DCA1D55B2BB688F0390C68DA8AF12E93446B19F7CCAB9C8423B27C3BA4E9
Content-Type: application/json
Content-Length: 520

{"tempModel":{"ActiveStatus":1,"FormDetail":"{\"MandatoryFields\":[{\"FieldName\":\"First name\",\"Tooltip\":\"first name\"},{\"FieldName\":\"Last name\",\"Tooltip\":\"last name\"},{\"FieldName\":\"Email Id\",\"Tooltip\":\"email\"},{\"FieldName\":\"Company\",\"Tooltip\":\"company\"},{\"FieldName\":\"secondary ID\",\"Tooltip\":\"mobile number\"}],\"OptionalFields\":[{\"Alias\":null,\"IsShow\":false,\"FieldName\":\"Participant ID\",\"Tooltip\":\"participant id\"}],\"EmailDomains\":[\"edenred.com\",\"google.com\"]}"}}

How to send Ajax request, using HttpClient

原文:https://www.cnblogs.com/chucklu/p/13637536.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!