С помощью приведенного выше экрана я просто хочу, чтобы вы, ребята, знали, что пока я использую 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?}");
});