Visual studio 2010 MVC行动不';不要被jqueryajax调用击中

Visual studio 2010 MVC行动不';不要被jqueryajax调用击中,visual-studio-2010,jquery,knockout.js,Visual Studio 2010,Jquery,Knockout.js,我有以下Knockout.js代码: this.submitRequest = function () { var url = '@Url.Action("GetDetails", "BrowseItems")'; $.ajax({ url: url, type: 'POST', contentType: 'application/json; charse

我有以下Knockout.js代码:

this.submitRequest = function () {
           var url = '@Url.Action("GetDetails", "BrowseItems")';

           $.ajax({
                url: url,
                type: 'POST',
                contentType: 'application/json; charset=utf-8',
                data: ko.toJSON(self.searchRequest),
                success: function (data) { }
            });
        };

这个ajax调用应该在BrowseItems控制器中执行GetDetails操作,它对我的合作伙伴有效,但对我无效。完全相同的代码。我甚至把整个项目都炸了,从TFS重新加载,以确保没有代码怪癖。所以,我知道我和我的搭档有相同的代码,但它对他有效,但对我无效。在我看来,这好像我必须设置某种VisualStudio环境设置。有人能帮我解决这个问题吗?

首先,你如何测试它是否被击中?调试?因为如果是这样,这可能是一个问题,就像您正在通过IIS运行,并使用IIS页面和通过visual studio本地服务器进行调试一样,您将永远不会让visual studio检测到IIS上的错误。不过,假设您只是单击了听起来像的run(debug)。接下来我要检查的是您的Global.asax文件,其中有您的路由设置。如果您没有看到像{controller}/{action}这样可能会导致问题的东西。最后一个建议是,您应该在开发控制台(IE/Chrome)或Firebug中检查服务器对您的请求的响应,并用响应消息更新您的帖子,而不是将@Url包装在“包装在”。