簡體   English   中英

IIS Express 405錯誤-不允許使用方法

[英]IIS express 405 error - method not allowed

我正在使用xmlHttpRequest從服務器上的xml獲取DOM元素位置的組件上工作。 在拖放之后,我用新的位置更新了xml,我想通過XMLHttpRequest將其發布回服務器以更新相同的文件。

responseText消息指出HTTP錯誤405.0-不允許使用方法。 您正在尋找的頁面無法顯示,因為使用了無效的方法(HTTP動詞)。

我檢查了applicationhost.config文件,看起來每個處理程序都配置了POST方法。 還打開了Win 7組件上IIS的所有功能。

我的電腦:Win7 Home Basic,Visual Studio Professional,IIS 7.5 Express。

pe:由於mootools庫的拖放功能,我主要使用javascript進行更新,因此我不使用webrequest方法。

先感謝您!

您的組件和處理XMLHttpRequest的服務器是否來自同一來源? 就是 是否從相同的protocol:// host:port組合提供服務。 如果沒有,瀏覽器將發出HTTP OPTIONS而不是您期望的POST。 要處理這種情況,請執行以下操作:

JSONP

跨域資源共享

由於該問題已通過JSON請求和通過WebService的對象映射解決,因此我正在關閉此對話。 我認為問題是關於目錄上本地權限配置的安全性。

謝謝您的幫助!

科內爾

您在注釋中提到的配置設置了用於處理“靜態文件”的默認IIS模塊,該模塊通過基於URI路徑到文件系統的映射返回文件來響應GET請求。

這些設置為處理所有動詞,但處理405到GET和HEAD之外的所有動詞,因為這是“靜態文件”的默認IIS行為是拒絕允許將它們張貼(或放置到或刪除)。

因此,錯誤是您要發布的URI沒有映射到您的處理程序以處理javascript正在發布的數據。 如果該處理程序是ASPX頁面,則檢查其他ASPX頁面是否正常工作,並使用正確的URI。 然后嘗試使用可發布適當數據(甚至不合適的數據)的簡單HTML格式對其進行調試,這樣您至少可以獲得一條關於數據錯誤的錯誤消息,而不是最終出現在根本拒絕處理POST的地方。

如果處理POST的代碼在IHttpModuleIHttpHandler ,則需要向web.config中添加一些內容以覆蓋所涉及URI的默認值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM