2013-11-25 26 views
0

我一直在開發Web項目並使用.json文件通過$.ajax調用客戶端上的數據來檢索數據。這些調用都使用POST,因爲會傳遞參數等。 當我將.json文件放入應用程序時,我收到一個405錯誤,抱怨我無法POST到該文件。我假設它希望我使用GET,但我想使用POST,以便在將它們移動到Controller Action調用或Web Api等時不必更改這些方法的寫法。發佈到MVC項目中的.JSON靜態文件

How我可以允許POST到MVC項目中的靜態.json文件嗎?

任何幫助最受讚賞。

+2

不把它作爲答案,因爲它不回答你的問題,但作爲一種解決方法,爲什麼不簡單地使存根控制器操作和返回平面文件中的數據?這樣,當你切換到控制器代碼時,你不需要改變任何東西。 –

+0

@RonanThibaudau,這很可能是我們要做的,但直接擊中這些人會很好! –

回答

0

您無法POST到這些文件的原因是因爲您沒有任何與可以處理POST動詞的.json文件關聯的處理程序(PHP,ASPNET等)。

一個非常簡單的解決辦法是做一個JsonController控制器對應於你的看法..行動

VB - 你能翻譯

<ActionName("AJsonFile.json")> 
Public Function AJsonFile As JsonResult 
    ' Return the .json file content 
End Function 

這樣,你可以讓你的意見.cshtml文件,這是註冊與ASP網絡處理器,而不必擔心映射一個新的文件類型。