我已经看到了很多关于这个的话题,但不幸的是,我相信每个案例都是不同的案例(或大多数案例),我真的很想得到一些专家对我的案例的意见,因为我什至无法让我的代码工作在阅读了其他一些主题之后。
情况:我在 jQuery 中使用 Ajax 请求调用到我在 WebApi 项目中创建的 WebService 方法以及 MVC 4 应用程序。
我的 WebService 控制器类看起来像默认的,像这样:
public class AdditionalInfoController : ApiController
{
//GET api/AdditionalInfo
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
//GET api/AdditionalInfo/5
public string Get(int id)
{
return "value";
}
//PUT api/AdditionalInfo/5
public void Put(int id)
{
string test = "";
}
}
我来自 jQuery 的 Ajax 请求如下所示:
function GetAdditionalInfo(obj)
{
var request = jQuery.ajax({
url: "/api/AdditionalInfo/Get",
type: "GET",
data: { id: obj.id },
datatype: "json",
async: false,
beforeSend: function () {
},
complete: function () {
}
})
.done(function (a,b,c) {
alert("Additional info was retrieved successfully!");
})
.fail(function (a,b,c) {
alert("An error happened while trying to get the additional info!");
});
}
我的 WebAPIConfig 文件如下所示:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
最后但并非最不重要的是,这是我的问题:当我浏览 .fail 中返回的数据变量时,此错误消息不断出现,这是写的:
"{
"Message":"No HTTP resource was found that matches the request URI 'http://localhost:59096/api/AdditionalInfo/Get?id=1'.",
"MessageDetail":"No type was found that matches the controller named 'AdditionalInfo'."
}"
如果有人能尽快帮助我,我将不胜感激。提前致谢!
最好的问候,
疯狂