从另一个网站调用 MVC 3 Apicontroller
Calling an MVC 3 Apicontroller from another website
我的项目中有一个 mvc 3 API 控制器
namespace Carabistouille.Controllers
{
public class CarabistouilleController : ApiController
{
/// <summary>
/// Method to retrieve all of the carabistouille in the catalog.
/// Example: GET api/carabistouille
/// </summary>
[HttpGet]
public HttpResponseMessage Get()
{
IEnumerable<Carabistouille.DB.Carabistouille> list = Carabistouille.DB.CarabistouilleDAL.GetAllCarabistouille();
if (list != null)
{
return Request.CreateResponse<IEnumerable<Carabistouille.DB.Carabistouille>>(HttpStatusCode.OK, list);
}
else
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
}
}
}
并且我希望其他网站能够查询 API 以获取数据
所以我做了这样的事情:
$("#query_results").empty();
$("#query_results").append('<table id="ResultsTable" class="BooksTable"><tr><th>Description</th><th>Auteur</th><th>Date</th></tr>');
$.ajax({
type: "get",
contentType: "application/json; charset=utf-8",
url: "http://www.Carabistouile.ca/api/carabistouille",
success: function(msg) {
var c = eval(msg.d);
for (var i in c) {
$("#ResultsTable tr:last").after("<tr><td>" + c.Description + "</td><td>" + c.Auteur + "</td><td>" + c.Date + "</td></tr>");
}
}
});
嗯,我得到的是:
Failed to load resource: net::ERR_NAME_NOT_RESOLVED
这是我的项目架构
我错过了什么?
您在示例中给出的 url returns 404,这可能意味着该控制器应该处理的路由尚未在应用程序中注册
看看How to add Web API to an existing ASP.NET MVC 4 Web Application project?
本质上你需要调用
WebApiConfig.Register(GlobalConfiguration.Configuration);
在 global.asax.cs 的 Application_Start 方法中,并确保您的配置包括此控制器要处理的路由
我的项目中有一个 mvc 3 API 控制器
namespace Carabistouille.Controllers
{
public class CarabistouilleController : ApiController
{
/// <summary>
/// Method to retrieve all of the carabistouille in the catalog.
/// Example: GET api/carabistouille
/// </summary>
[HttpGet]
public HttpResponseMessage Get()
{
IEnumerable<Carabistouille.DB.Carabistouille> list = Carabistouille.DB.CarabistouilleDAL.GetAllCarabistouille();
if (list != null)
{
return Request.CreateResponse<IEnumerable<Carabistouille.DB.Carabistouille>>(HttpStatusCode.OK, list);
}
else
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
}
}
}
并且我希望其他网站能够查询 API 以获取数据 所以我做了这样的事情:
$("#query_results").empty();
$("#query_results").append('<table id="ResultsTable" class="BooksTable"><tr><th>Description</th><th>Auteur</th><th>Date</th></tr>');
$.ajax({
type: "get",
contentType: "application/json; charset=utf-8",
url: "http://www.Carabistouile.ca/api/carabistouille",
success: function(msg) {
var c = eval(msg.d);
for (var i in c) {
$("#ResultsTable tr:last").after("<tr><td>" + c.Description + "</td><td>" + c.Auteur + "</td><td>" + c.Date + "</td></tr>");
}
}
});
嗯,我得到的是:
Failed to load resource: net::ERR_NAME_NOT_RESOLVED
这是我的项目架构
我错过了什么?
您在示例中给出的 url returns 404,这可能意味着该控制器应该处理的路由尚未在应用程序中注册
看看How to add Web API to an existing ASP.NET MVC 4 Web Application project?
本质上你需要调用
WebApiConfig.Register(GlobalConfiguration.Configuration);
在 global.asax.cs 的 Application_Start 方法中,并确保您的配置包括此控制器要处理的路由