允许在ASP.NET MVC
问题描述:
POST方法的HTML页面允许POST方法的HTML页面中的ASP.NET MVC允许在ASP.NET MVC
我使用ASP.NET MVC与5.2和我整合RoxyFileManager我的CKEditor。
的整合是很好,但问题是,当我尝试了一些文件上传到我的Web服务器,我得到这个错误:
NetworkError: 405 Method Not Allowed - http://localhost:35418/FileManager/index.html?...
的RoxyFileManager使用POST方法上传的文件和我的web服务器呢不接受它。我无法弄清楚如何修复它。
如果我手动将图像放到我的目录中,我可以在文件管理器中看到它,我也可以在其中创建和排除文件夹。
澄清我的问题:我想知道如何让我的网络服务器接受POST方法到HTML页面,就这样。所有相关信息都在上面。我有一个HTML页面,并希望让它接受POST。
#UPDATE:
我已经想通了这个问题是一个浏览器的问题。
- 在谷歌浏览器中一切正常,
- 在Firefox中,我得到上面的错误;我可以上传和编辑以前发送的文件,但是我看不到最近的文件上传,直到缓存到期为止,这些更改都没有发生。
我会解决这些问题,并在这里发布答案,如果成功的话。
答
为了解决IE bug这很简单,但它很难:你需要在每一个RoxyFileMan的ajax调用中添加行cache: false
。您需要在RoxyFileMan文件夹的每个.js文件中执行此操作。
例子:
$.ajax({
url: d, dataType: "json", async: true, success: function (h) {
for (i = 0; i < h.length; i++) { e.push(new File(h[i].p, h[i].s, h[i].t, h[i].w, h[i].h)) }
g.FilesLoaded(e)
},
error: function (h) { alert(t("E_LoadingAjax") + " " + d) },
cache: false
})
有了这个,由乐声所做的所有阿贾克斯不会有任何缓存,解决了IE的问题。
为了解决Firefox的错误我在main.min.js改变了这个:
BEFORE:
document.forms.addfile.action = RoxyFilemanConf.UPLOAD
AFTER:
$('form[name="addfile"]').attr('action', RoxyFilemanConf.UPLOAD);
我发现这个解决方案here。
现在我的文件管理器正在处理所有现代浏览器。