2
我正在學習ASP.NET MVC4 Web API。 我想創建一個將接收兩個參數如何創建我自己的webapi動作並使用jquery調用它?
的新方法[HttpPost]
public string MarkAsSeen(int objectID, long userID)
我想使用jQuery來使用它:
$.ajax({
type: "POST",
url: "/api/tutorial/MarkAsSeen",
data: JSON.stringify({ objectID: _obj, profileID: _pid }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
alert(_tutorial + ' seen');
},async: true
});
我有我的路線設置這樣
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}"
);
但它只是不起作用:
未找到與請求URI匹配的HTTP資源'http://local.dev.unation.com/api/tutorial/MarkAsSeen'.","MessageDetail":"沒有在控制器'教程'中找到任何操作匹配請求。
如果我改變路線的模板API/{控制器}/{行動}/{的objectID}/{配置文件ID}和jQuery的方法來添加對URL此信息:/ API /教程/ MarkAsSeen/+ _obj +/+ _pid 它的工作原理。
我不希望執行這些變化的原因是:
- 我想有到所有操作(因此它們的參數名稱/數量不應該的問題),一個普通的路由
- 此URL追加是隻是醜,我想使用數據屬性
你能告訴我我做錯了什麼嗎?
tks!
我會看看,謝謝! – JSBach
+1爲進一步閱讀部分 – frictionlesspulley
工作,非常感謝,我永遠不會發現這個「伎倆」:)如果它是一個獲取請求,我怎麼能使用這個時使用url調用? – JSBach