加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 在IIS6上使用jqGrid和ASP.NET MVC 2找不到POST A

发布时间:2020-12-15 22:25:29 所属栏目:asp.Net 来源:网络整理
导读:这令我感到困惑.我将一个MVC 2应用程序部署到IIS6,除了我的jqGrid调用以获取数据之外,一切正常. 一切都在我的开发机器上,但这里是我正在使用的两个URL 本地开发Web服务器: POST http://localhost:port/Ctrl.mvc/JsonMethod IIS6(注意https – 不确定是否重
这令我感到困惑.我将一个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';

解决方案并不完美,但它确实有效.可能是您应该更改此“变基”功能,使其与您一起工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读