与IE8和Ajax.ActionLink有奇怪的行为

时间:2011-08-01 18:37:10

标签: ajax asp.net-mvc-3 internet-explorer-8

使用MVC3进入ajax。我对IE8有一些奇怪的行为。我认为的代码:

@Ajax.ActionLink("Get Latest Server Time",
             "ServerTime",
             new AjaxOptions() {UpdateTargetId = "serverTime",
                                InsertionMode = InsertionMode.InsertAfter,
                                HttpMethod = "GET",
                                LoadingElementId = "progress",
             });


<div id="serverTime">
</div>

<div id="progress">
    In Progress.....    
</div>

在IE8中,它第一次点击链接(actionlink)时效果很好。动作链接只是获取服务器时间。以后的呼叫它只是使用你最初从服务器获得的值(时间)而不是回到服务器。因此,如果您第一次点击链接时是1:24:36 PM,那么即使您在15分钟后点击该链接,它仍然会显示相同的时间。

我想也许这是我对ajax的新手理解然后我尝试了chrome&amp; firefox,一切都按预期工作。也许IE9工作正常,但我不确定,因为我正在运行XP。有谁知道发生了什么?

1 个答案:

答案 0 :(得分:2)

一般缓存中的IE获取请求。调试Ajax请求时可能会非常痛苦。解决问题的最简单方法是将HttpMethod =“GET”更改为HttpMethod =“POST”,您只需要确保您的Action接受帖子。

[HttpPost]
public ActionResult ActionSetup()
{//stuff here}