通过jQuery调用Web API时出现404 Not Found错误

时间:2018-06-20 00:10:31

标签: asp.net-web-api2

一段时间以来,我一直在处理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)

0 个答案:

没有答案