これを機能させることができないようです...クライアントに次のような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パスであるため、reportpathは'\\ some \path\'のようになります。
スクリプトを正常に起動し、ReportExistsメソッドでブレークポイントに到達できますが、レポート変数は常にnullです。
私は何が間違っているのですか?
.postとpostJSONで投稿する方法もあります。多分私はそれらの1つを使うべきですか?もしそうなら、私のフォーマットは何でしょうか?
更新: 追加の手がかりかもしれません-[FromBody]を削除すると、ブレークポイントがまったくヒットしません-'リクエストに一致するhttpリソースが見つかりませんでした'。私が見ている例は、[FromBody]が必要ないことを示しています...?