一段时间以来,我一直在处理ASP.NET MVC项目中的Web API时出现404 Not Found错误,而我只是没有发现问题。这就是我所拥有的。
WebApiConfig类:
public class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
//config.Routes.MapHttpRoute(
// name: "DefaultApi",
// routeTemplate: "api/{controller}/{action}/{id}",
// defaults: new { id = RouteParameter.Optional }
// );
EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
}
}
API控制器:
public class Interactivas : ApiController
{
[Route("api/VotoInteractiva/{parameters}")]
[HttpPost]
public IHttpActionResult RegistraVoto(String parameters)
{
// Server side services are called here.
return Ok();
}
}
使用Web API的Javascript代码: 当用户单击视图中的控件时,将调用此Javascript函数,该Javascript函数直接位于此类View中,而不位于单独的.js文件中。我添加了一个“警告”以显示“ strURL”变量的内容,并且在末尾带有“参数”的情况下看起来还不错。进行AJAX调用时,将触发“错误”部分 显示3条警报:错误,404,未找到。另外,我确保我的项目在端口60642上运行。
function RegistraVoto(id, puntos) {
var strParametro = String(puntos) + String(id);
var strURL = encodeURI("http://localhost:60642/api/VotoInteractiva/" + strParametro);
$.ajax
({
type: "POST",
dataType: "json",
url: strURL,
success: function (result) {
alert('Resultado: ' + result)
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Error');
alert(xhr.status);
alert(thrownError);
}
});
}
我整天都在观察,更改和测试,但我看不出有什么问题。我还审查了几个类似的支持职位,但均未成功。我将非常感谢您的任何反馈。
P.D .:我正在使用.NET Framework 4.6.1
恭喜,
豪尔赫·马尔多纳多(Jorge Maldonado)