.NET Core + jQuery AJAX-запрос с «Access-Control-Allow-Origin» - PullRequest
0 голосов
/ 11 мая 2018

PostMan post request where I am passing Access-Control-Allow-Origin, and in below screen you can see that it's successfully passing the headers.

Fiddler request Headers where you can notice Access-Control Allow-Origin is passing in headers and also it's working fine.

С помощью приведенного выше экрана я просто хочу, чтобы вы, ребята, знали, что пока я использую POSTman ajax call в этот раз работает как положено, но когда я пытаюсь сделать тот же AJAX-вызов с использованием jQuery, он вообще не работает, я имею в виду, что я получаю статус 200 ok, но все свойства моего объекта пусты, и я уверен, чтоэто потому, что заголовки не проходят должным образом во время вызова ajax с использованием jQuery.

Я пробовал много способов, но не смог понять, почему это не работает для меня.

Ниже приведен код, который я попытался с помощью вызова jQUery AJAX.

 $.ajax({
            type: "POST",
            url: "http://localhost:61146/MarkAndUnmarkCountry",
            data: JSON.stringify({ obj: obj }), 
            dataType: "json",
            async: true,
            crossDomain: true,
            headers: { 'Access-Control-Allow-Origin': '*'},
            contentType: "application/json",
            success: function (data) {
                debugger;
                if (data != null) {

                }
            }, error: function (err) {
                debugger;
                console.log(err.statusText);

            }, complete: function () {
                //DropDownUiBinding();
            }
        });

Это мой метод .NET CORE POST.

public class CountryController : Controller
    {
        private readonly ICountryApi _countryApi;
        public CountryController(ICountryApi countryApi)
        {
            _countryApi = countryApi;
        }


            [Route("MarkAndUnmarkCountry")]
            [HttpPost]
            public async Task<IActionResult> MarkAndUnmarkCountry([FromBody] FavoriteRequestModel obj)
            {

                var resultJson = await _countryApi.MarkCountryFavourite(obj);
                return Json(new { result = resultJson });
            }
    }

Это мой контроллер, а ниже - моя начальная конфигурация

 app.UseCors(builder => builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod());
            app.UseMvc(routes =>
                       {
                           routes.MapRoute(
                               name: "default",
                               template: "{controller=Home}/{action=Index}/{id?}");
                       });
...