2010-09-01 74 views

回答

18

我一般用舊:

if (Request.IsAjaxRequest()) 

控制器內。

+0

乾杯戴夫 - 一切順利;) – 2010-09-01 19:29:39

+0

有人可以向我解釋這種魔法是如何工作的? 編輯:找到它。 https://stackoverflow.com/questions/4885893/how-to-differentiate-ajax-requests-from-normal-http-requests – Pangamma 2017-08-17 23:33:51

1

如果您確實想要返回不同的操作結果,請使用不同的操作。但是,如果它必須是相同的,你可以改變網址,並用它發送一個額外的參數一樣

htt://mysite.com/controller/action?ajax=ajax 

除此之外我不會建議使用Get對AJAX。關於安全性,最好使用$.post

我非常建議每MVC開發觀看HaaHa顯示:http://live.visitmix.com/MIX10/Sessions/FT05

+0

我的請求是冪等的,所以我不想做的職位一般的動作不同的動作。 http://en.wikipedia.org/wiki/Idempotent – DaveDev 2010-09-01 17:46:49

2

如果他們要返回,那麼你可以有一個重定向到另一個動作取決於請求

public ActionResult GetData() 
{ 
    if(Request.IsAjaxRequest()) 
     return RedirectToAction("AjaxRequest"); 
    else 
     return RedirectToAction("NonAjaxRequest"); 
} 
+0

遲到+ 1你在這裏,但你的答案實際上可能是一個更好,更豐富的信息一個比我的(從那些年前:))。所以,希望DaveDev能在某個時候出現並改變他的決定! (順便說一下,你在那裏使用的模式在過去的時代也是如此),所以絕對是基於mvc2/3的一個很好的選擇。保重 - 吉姆 – 2013-05-10 20:30:49

相關問題