Jquery ajax在ipad上不起作用

Jquery ajax在ipad上不起作用,jquery,ajax,ipad,safari,Jquery,Ajax,Ipad,Safari,我有一张表格: <form id="orderForm" onsubmit="return prepareOrder(this);" action='@ConfigurationManager.AppSettings["EpayLogonUrl"]' method="POST"> <input type="hidden" name="Signed_Order_B64" value=""> <input type="hidden"

我有一张表格:

<form id="orderForm" onsubmit="return prepareOrder(this);" action='@ConfigurationManager.AppSettings["EpayLogonUrl"]' method="POST">
         <input type="hidden" name="Signed_Order_B64" value="">
         <input type="hidden" name="email" size="50" maxlength="50" value="@Model.Email">
         <input type="hidden" name="appendix" value="@Model.AppendixInfo">
         <button class="wiz_button" type="submit" disabled="disabled">
         <span><span id="buy_button_name">Buy</span></span></button>
</form>
问题是,在新的ipad(Safari)上,没有调用
CreateOrder
操作。在桌面浏览器上,它可以正常工作。控制台中没有错误。我尝试在以下情况后添加警报:

success: function (response) {
就像这样:

success: function (response) {
alert(response.IsSuccess)

alert
返回我
true
。为什么?如果未调用
CreateOrder
。我还将日志记录添加到
CreateOrder
操作中,并且没有输出字符串。

Safari和/或Ipad支持非常强大的缓存。我的申请也有同样的问题。尝试向控制器(甚至基本控制器)添加以下属性:


看起来这个iOS Safari版本只在某些版本中复制。对我来说,配备iOS 6.0.1的iPad有这种冗余缓存,但在6.1.2上没有。 作为一种解决方法,我使用假数据强制Safari不查看其缓存:

$.ajax({
    type: 'POST',
    url: '/Pay/CreateOrder',
    data: { payWay: selectedPayWay, fakeDataToAvoidCache: new Date()},
    success: function (response) {
               //logic goes here
    });

基本上,很奇怪,Safari缓存POST请求,根据规范,POST请求必须不可缓存。

我有基于java的web应用程序,所以我在哪里添加了输出缓存。。。?
[OutputCache(NoStore = true, Duration = 0)]
$.ajax({
    type: 'POST',
    url: '/Pay/CreateOrder',
    data: { payWay: selectedPayWay, fakeDataToAvoidCache: new Date()},
    success: function (response) {
               //logic goes here
    });