すべての JavaScript 呼び出しで機能するロギング メソッドを作成しようとしています。うまくいっていません。次のエラーが表示されます。
要求に一致するアクションがコントローラーの「ログ」に見つかりませんでした。
コントローラーに次のコードがあります。
[System.Web.Mvc.HttpPost]
public void Post(string msg)
{
using (var ctx = new DataClassesDataContext(ConfigurationManager.ConnectionStrings["EasyViewDkConnectionString"].ToString()))
{
ctx.UserInputInsert(msg, HttpContext.Current.Request.UserHostAddress);
}
}
とてもシンプルです。私のルーティングが問題なのかどうかは少しわかりません。基本的に、私はデフォルトのルートを持っています:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
データを投稿するには、次の JavaScript を使用しています。
function Log(msg) {
$.ajax({
url: "/api/Log/",
data: msg,
type: "POST",
contentType: "application/json;charset=utf-8"
});
}
明らかに、私は何か間違ったことをしています。おそらく私のルーティングですが、解決できないようです。コントローラーの msg 引数を id に変更しようとしましたが、それでも同じです。