我似乎无法让它工作......我在客户端上有一些这样的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;
}
我只是检查文件是否存在于服务器上,并返回一个关于它是否存在的布尔值。我发送的报告字符串是一个 UNC 路径,所以报告路径看起来像 '\\some\path\'。
我可以很好地触发脚本,并在我的 ReportExists 方法中打断点,但报告变量始终为空。
我究竟做错了什么?
我还看到了一种使用 .post 和 postJSON 发布的方法。也许我应该使用其中之一?如果是这样,我的格式是什么?
更新: 可能还有一条线索——如果我删除 [FromBody],那么我的断点根本不会被命中——“没有找到与请求匹配的 http 资源”。我正在查看的示例表明不需要 [FromBody] ......?