0

我已经创建了 MVC 4 项目,我正在服务器 2008 上部署应用程序,当我们运行应用程序时,在 firebug 和 IE 控制台中,我们收到错误 404 Not Found。你能建议我们可以做些什么来解决这个错误吗?

在此处输入图像描述

4

1 回答 1

0

我猜你已经在你的 javascript 文件中硬编码了你的 Web API 的 URL:

<script type="text/javascript">

    $.ajax({
        url: '/api/session/login',
        type: 'POST',
        data: ...
    });

</script>

而不是使用 url 助手来生成此方法的 url:

<script type="text/javascript">

    $.ajax({
        url: '@Url.RouteUrl("DefaultApi", new { httproute = "", controller = "session", action = "login" })',
        type: 'POST',
        data: ...
    });

</script>

您需要使用 url 帮助程序的原因是,当您在 IIS 中部署应用程序时,您可能会将其部署在虚拟目录中,因此您的 API 的正确位置现在someappname/api/session/login不是仅/api/session/login. 如果您使用 url 帮助程序,它将考虑虚拟目录名称。

于 2013-03-12T06:46:10.510 回答