我有一個控制器操作,它在數據庫中執行一些工作,然後在完成時退出。這個動作通過jQuery的ajax函數被調用,dataType設置爲'json'。ASP.NET MVC - 處理沒有返回對象的Ajax操作的正確方法
如果我把操作設置爲無效的返回類型,一切都將發揮作用,除了火狐就好將顯示在說,控制檯的錯誤:「找不到元素」。
如果期望XML回來,Firefox會拋出這個錯誤是有道理的。但是,即使我將ajax調用的dataType屬性更改爲「text」,我仍然收到錯誤。爲了擺脫返回類型爲void的錯誤,我必須將Response的ContentType設置爲「text/html」。或者我可以將返回類型設置爲JsonResult並返回一個新的[empty] JsonResult對象。
我敢肯定,有幾種方法,我可以讓這個錯誤消失,但我想知道來處理,沒有通過AJAX調用的返回值行動的正確方法。
如果很重要,我還使用異步控制器操作模式。
public void DoSomethingAsync(SomeJsonObjectForModelBinding model)
{
// do some database things
}
public void DoSomethingCompleted()
{
// nothing to do...
// what should my return type be?
// do I need to set the content type here?
}
+1總是返回成功或錯誤,對於js的工作方式來說確實非常必要。 – 2011-03-28 18:49:18
我不明白這是什麼購買你。無論如何,服務器始終會返回http狀態。即使你知道它永遠不會被讀取,你仍然主張json將json序列化數據發送給客戶端。重點是什麼? – fearofawhackplanet 2011-11-23 17:01:46
好吧,系統級反饋,然後是應用程序級的反饋。您可以成功執行AJAX,但不知道應用程序中服務器端是否出現問題。 – Kon 2011-11-28 16:01:06