2014-09-05 84 views
0

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:

我已經想通了這個問題是一個瀏覽器的問題。

  1. 在谷歌瀏覽器中一切正常,
  2. 在Firefox中,我得到上面的錯誤;我可以上傳和編輯以前發送的文件,但是我看不到最近的文件上傳,直到緩存到期爲止,這些更改都沒有發生。

我會解決這些問題,並在這裏發佈答案,如果成功的話。

回答

0

爲了解決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

現在我的文件管理器正在處理所有現代瀏覽器。