2011-05-05 81 views
1

我有一個操作方法在我UpdatesController具有以下特徵:JsonResult動作不會被解僱

public JsonResult GetUpdates(DateTime lastUpdate) 

在我看來,我有下面的代碼在時間上要調用的方法(在這一刻它只是在按鈕的測試onclick事件中,有按鈕的ID clickme):

$(document).ready(function(){ 
    $("#clickme").click(function(){ 
     alert("Before"); 
     $.getJSON("http://localhost/Updates/GetUpdates", "04/05/2011 11:44:37", function(data){ alert(data); }); 
     alert("After"); 
    }); 
}); 

click事件觸發,以及BeforeAfter警報的兩個火,但我沒有得到任何數據傳回,我一不警告json數據。我也在GetUpdates方法中設置了一個斷點,並且斷點從來沒有命中,我相信這表明請求沒有發送?

請問這個參數有問題嗎?

感謝

更新

所以,我終於得到它在Visual Studio步和操作方法,沒有錯誤運行。但是,警報沒有顯示,如果我查看Firebug中的Net選項卡,該特定請求會出現500錯誤?

+1

你試過在螢火蟲中調試過嗎? 'http:// localhost/Updates/GetUpdates'是否被調用? – lancscoder 2011-05-05 13:11:58

+0

@Simon G我可以跨過這條線而不會出現任何錯誤,我不知道我會如何檢查它是否被調用? – AndrewC 2011-05-05 13:18:10

+0

改變你寫你的網址的方式可能是有效的。 http:// localhost/Updates/GetUpdates類似於/更新/ GetUpdates – 2011-05-05 13:34:45

回答

1

試着改變它這樣做:

$.getJSON("http://localhost/Updates/GetUpdates", { lastUpdate: "04/05/2011 11:44:37" }, function(data){ alert(data); }); 

有可能它沒有找到正確的行動,可能沒有一個匹配的路由。

運行fiddler和檢查響應是這將是下一步我會嘗試

編輯:

另外,還要確保您的JSON調用有JsonRequestBehavior.AllowGet作爲參數,如果你使用MVC 2.例如

return Json(obj, JsonRequestBehavior.AllowGet); 
+0

仍然沒有:( – AndrewC 2011-05-05 13:22:00

+0

@AndyC這很奇怪,嘗試運行fiddler並查看來自服務器的響應是什麼,雖然,你也應該能夠檢查在螢火蟲的淨選項卡 – 2011-05-05 13:24:00

+0

奇怪的是,我得到了一個500錯誤,奇怪的是,我不能在Visual Studio中通過這個步驟, – AndrewC 2011-05-05 13:25:35