ajax请求在kiosk浏览器上缓存

时间:2012-10-22 07:17:43

标签: jquery asp.net-mvc-3

我有一个mvc 3 razor项目,在PC上工作非常好在Ipad上有一个问题我有一个artikel列表和一个添加按钮进行测试然后我按下添加按钮它现在返回日期时间然后我按添加的按钮它是返回一个日期时间,然后我按第二次它返回相同的日期时间,我在Ipad上的项目从缓存中取值我认为,每个人都可以帮助我??? 这个jquery代码:

$(document).ready(function (){        
    $(".AddButton").live("click", function(){                
        var buttonId = $(this).attr("id");                
        var id = buttonId.substr(buttonId.indexOf("_"));
        $.ajax({                
            type:'POST',
            dataType:'json',                
            url: "@Url.Action("AddCommandArtikelJson","Home")",
            data: {id:$("#Id"+id).val(), id_priceOnPad: $(this).attr("name")},
            cache: false,
            success: function(result){            
                $("#commandsCount").text(result);
            }
        });

    });
});

和这个控制器功能:

 [HttpPost]
    public JsonResult AddCommandArtikelJson(int id, int id_priceOnPad)
    {//my code
         return Json(DateTime.Now);
    }

2 个答案:

答案 0 :(得分:4)

在这种情况下,常见的技巧是在查询字符串中传递一个随机字符串,这会诱使浏览器认为请求不同,因此您绕过了缓存。

答案 1 :(得分:3)

当我使用的.NET网站将Web服务请求缓存到影响我的网站功能的程度时,我遇到了同样的问题。这似乎是iOS6中的一个共同特征。

此StackOverflow帖子可以帮助您:Is Safari on iOS 6 caching $.ajax results?

我在这个问题上的经验写了一些简介:http://www.isurinder.com/blog/post/2012/09/24/iOS-Safari-Browser-Has-A-Massive-Caching-Issue!.aspx

通过将完整的时间戳传递给您的服务应解决您的问题。