2013-03-12 54 views

回答

0

我想你已经在你的JavaScript文件中硬编码的URL到您的Web API:

<script type="text/javascript"> 

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

</script> 

,而不是使用的网址助手生成的URL此方法:

<script type="text/javascript"> 

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

</script> 

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