在過去的兩天裏,我一直在使用webapi(asp.net)和ajax查詢。我已經可能在互聯網上閱讀所有可能的解決方案,但它仍然不能在我的機器上工作。CORS操作被取消
步驟I已與簡單的示例項目(NB:localhost
由LH
取代):嘗試
[NOT WORKING]
public static void Register(HttpConfiguration config) { config.EnableCors(new EnableCorsAttribute("*", "*", "*")); // omitted }
[NOT WORKING]
[EnableCors("*", "*", "GET,POST,PUT,OPTIONS")] public class ValuesController : ApiController { /* code goes here */}
[不工作]
[EnableCors("*","*","PUT")] public void Put(int id, string value) { values[id] = value; }
[不工作]
我還沒有嘗試添加這些:<httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" /> <add name="Access-Control-Allow-Headers" value="Content-Type" /> </customHeaders> </httpProtocol>
[不工作]
而對於最後我做了與使用IIS管理的第4點相同的內容。從FF F12工具網絡面板
結果:
GET LH:8821/api/values 200 OK 229ms ["Item1", "Item2", "Item3"]
PUT LH:8821/api/values 405 Method Not Allowed 114ms "NetworkError: 405 Method Not Allowed - LH:8821/api/values"
POST LH:8821/api/values 405 Method Not Allowed 123ms "NetworkError: 405 Method Not Allowed - LH:8821/api/values"
是不是我做錯了什麼,還是我失去了一些其他的設置?
我取得的最好結果是GET
和POST
工作,但後來談到PUT
我總是得到405--爲什麼?
感謝長期的答覆:)我經歷的文章試圖找到我從這些該死的頭文件中丟失的東西。 與webDav伎倆沒有解決我的問題。 – jstadnicki
@jstadnicki:不客氣。我只希望它能以某種方式幫助你。 – djikay