不调用Web Api操作方法

时间:2014-11-12 11:10:33

标签: jquery asp.net

我在页面上有一个ajax请求,它在我的ASP.NET应用程序中调用Web Api方法。

var request = $.ajax({
    url: "/api/Book/GetBook",
    type: "GET",       
    contentType: "application/json; charset=utf-8",
});
request.done(function (msg) {
    alert(msg);
});
request.fail(function (jqXHR, textStatus) {
    alert("Request failed: " + textStatus);
});

api方法的来源:

   [HttpGet]
   public IEnumerable<PageViewModel> GetBook()
    {
        return _librarian.GiveBook(_authProvider.GetUserAccount());
    }

在调试时,action方法没有调用,textStatus是&#34; erorr&#34;。

1 个答案:

答案 0 :(得分:0)

Web API设计为RESTful,完成RESTful接口的一部分是具有将资源标识为端点而非CRUD操作的接口。例如,您有一个Book控制器(这意味着Book是资源)因此,如果您想要将特定的书籍拉下来,那么很可能是

/api/book/{bookId}

默认路由表足够聪明,可以将HTTP谓词映射到控制器中的相关操作。