asp.net-mvc – 在IIS6上使用jqGrid和ASP.NET MVC 2找不到POST A
这令我感到困惑.我将一个MVC 2应用程序部署到IIS6,除了我的jqGrid调用以获取数据之外,一切正常.
一切都在我的开发机器上,但这里是我正在使用的两个URL 本地开发Web服务器: POST http://localhost:port/Ctrl.mvc/JsonMethod IIS6(注意https – 不确定是否重要) POST https://www.domain.com/AppName/Ctrl.mvc/JsonMethod 后一个URL导致HTTP 404,这真的令人困惑,因为它在我的本地机器上运行良好.使用[AcceptVerbs(HttpVerbs.Post)]正确声明JsonMethod 如果需要更多信息,请告诉我 – 我感谢您的任何帮助! 编辑相当疏忽我… 我的所有JSON请求都是/Ctrl.mvc/JsonMethod.好吧,在IIS服务器上,代码位于子文件夹–AppName中.因此,我得到404,因为找不到https://domain/Ctrl.mvc/JsonMethod – 这是正确的. 基本上,我需要在部署时更改我的JSON请求 – 我真的不喜欢,但也许有更好的方法? 解决方法
看看
Deploy asp.net mvc beta to iis 6 causing 404’s和
http://blog.stevensanderson.com/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/.
您的应用程序中是否有更多使用POST的URL?它们有效吗?你有没有像.aspx或.mvc这样的扩展名的网址吗?它们有效吗? 更新:我在像你这样的所有JavaScripts中遇到了我的URL的不同基本/根部分的问题.因为你使用jqGrid,我认为你有同样的问题.如果我在Web服务器上的虚拟目录中发布我的解决方案,那么所有调用我的JavaScripts的URL都将被更改.所以我给window.location.pathname并用’/’拆分,然后我发现一个新的rootPath对应于新的位置.这种重新定位的URL我放在一个函数中,我在我的解决方案的所有JavaScripts中调用.租用的代码片段与我的网站完美配合: var pathArray = window.location.pathname.split( '/' ); var rootPath = ''; for (var i = 0; i < pathArray.length; i++) { var p = pathArray[i]; if (p === "") { continue; } if (p.toLowerCase() !== 'home') { rootPath += '/'; rootPath += p; } else { break; } } this.urlBase = rootPath + '/Repository.svc'; this.urlExportBase = rootPath + '/ExportToExcel'; 解决方案并不完美,但它确实有效.可能是您应该更改此“变基”功能,使其与您一起工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 不引用MVC的AllowHtml属性
- asp.net-web-api – ASP.NET Core中的IHttpActionResult和帮
- aspx.cs页面中的ASP.NET Webmethod无法访问Page.Request对象
- 如何在ASP.NET 5中使用SignalR
- asp.net-mvc – 将id类型从string更改为int时,如何在Web AP
- asp.net-mvc-3 – 我可以在“区域”编辑器模板中为同一模型
- ASP.NET错误:页面Y.ascx无法使用用户控件X.ascx
- asp.net-mvc – 部署网站的最佳方式 – 应用程序池启动停止
- asp.net-mvc – 在EC2实例上运行的MVC应用程序无法访问RDS数
- 处理ASP.Net MVC中的过期标题