Есть приложение - asp net core mvc с контроллером api (просто контроллер в котором содержаться post/get методы). Есть фронт, который вызывает эти методы с помощью xmlhttprequest. На локалке (когда разрабатывал и тестил) одинаково работали и get и post методы, после выкладки get методы работают но при вызове post 404 ошибка. При этом из postman'a все работает.
Контроллер выглядит примерно так
[Route("api")]
public class ApiController : Controller
{
[HttpPost]
[Route("someMethod")]
public JsonResult Method() { ... }
}
js код который вызывает данный метод
function DoXhrPostJson(model, url) {
var result = document.getElementById("container");
var xhr = new XMLHttpRequest();
xhr.open("POST", url);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.send(JSON.stringify(model));
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
AddToResult(xhr.responseText);
} else {
result.innerText = xhr.status + ': ' + xhr.statusText;
}
}
}
Url похоже передается валидный, http://some.site.ru/api/testing
. При запросе с postman по данному url все ок. Get методы работают без проблем. В чем может быть ошибка?
Cors разрешил так, в StartUp файле в ConfigureServices сделал services.AddCors()
Затем в
configure {
builder.AllowAnyOrigin();
builder.AllowAnyHeader();
builder.AllowAnyMethod();
});
Проблема была в cors, добавил
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder => builder.WithOrigins("host"));
});
и app.UseCors("AllowSpecificOrigin");
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В data приходит объект абсолютно такой жеИ нужно просто увеличить значение count
Код регистрирующий событие нажатие клавиши реагирует после однакратного клика на документе
Как я могу вызвать приватные функции, присвоенные локальным переменным функции с передачей аргументов?