var assetimage_id = $(this).closest(".assetImageWrapper").attr("data-assetimage_id");
var dataToSend = JSON.stringify({ "Asset_ID": assetimage_id, "Description": $(this).val() });
$.ajax({
url: "/api/Assets/UpdateDescription",
type: "PUT",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: dataToSend,
success: function (data) {
alert("success");
}
});
そして、これがヒットするはずのメソッドです。
[HttpPut]
public Asset UpdateDescription(int Asset_ID, string Description)
{
return new AssetsService().UpdateAssetDescription(Asset_ID, Description);
}
何が奇妙に見えますか?メソッドは、Assets という Web API コントローラーで設定しています。他のすべてのメソッドは、そこから正常に機能します (GETS、POSTS)。これは、Visual Studio 2012 で F5 キーを押して実行しているときなので、IIS 構成は変更されていません。Api ルートがデフォルト ルートです。
そして、私の web.config はすべての動詞をサポートしています: