【发布时间】:2014-02-25 20:45:29
【问题描述】:
我正在编写一个小型 ASP.NET MVC 站点,其中还包含一个我编写的 WEB API。
我已将本地 IIS 上的项目配置为 http://localhost/mysite
在我网站的主页上,我包含了一个我编写的 js 脚本:
<script src="@Url.Content("~/Content/js/home.js")"></script>
在我调用的那个js的页面就绪事件上:
$.ajax({
url: 'api/getdetails',
accepts: 'application/json',
cache: false,
type: 'GET',
success: function (data) {
alert(data);
}
});
查看 Fidler 时,我看到页面调用返回 404,因为它不会尝试将其加载到我所在的相对路径 (http://localhost/mysite),而是尝试加载服务器的根目录 - 所以通话看起来像这样http://localhost:80/api/getdetails
当我编写 Web 表单时,我一直在进行诸如此类的 ajax 调用,而且它总是有效。
我错过了什么?
谢谢
【问题讨论】:
-
Web API 是一个基于 REST 的系统。尝试更深入地挖掘 REST 并接受它的思维方式。将控制器命名为“GetDetails”并不轻松,而且也是重复的。
-
@timmkrause 谢谢 - 我会考虑到这一点 - 但是,这不是导致问题的原因......
-
什么输出 url 是
@Url.Content("...")就像你在你的帖子中所说的那样,给?对他的 url 模式感兴趣...
标签: javascript jquery ajax asp.net-mvc asp.net-web-api