Я не могу заставить это работать... У меня на клиенте есть такой jQuery:
$.ajax({
type: "POST",
url: "api/report/reportexists/",
data: JSON.stringify({ "report":reportpath }),
success: function(exists) {
if (exists) {
fileExists = true;
} else {
fileExists = false;
}
}
});
И в моем контроллере Web.API у меня есть такой метод:
[HttpPost]
public bool ReportExists( [FromBody]string report )
{
bool exists = File.Exists(report);
return exists;
}
Я просто проверяю, жив ли файл на сервере, и возвращать bool относительно того, делает он это или нет. Строка отчета, которую я отправляю, представляет собой UNC-путь, поэтому путь report выглядит как "\\ some\path".
Я могу запустить script в порядке и нажать точку останова в моем методе ReportExists, но переменная отчета всегда равна нулю.
Что я делаю неправильно?
Я также вижу способ публикации с .post и postJSON. Может быть, я должен использовать один из них? Если да, то каким будет мой формат?
Обновление: Дополнительная подсказка, возможно, если я удалю [FromBody], тогда моя точка останова не получит никакого удара - "Не найден http-ресурс, соответствующий запросу". Примеры, на которые я смотрю, показывают, что [FromBody] не требуется...?