Ajax无法在iPad上使用
我有一个表格:
<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>
和一个函数PrepareOrder
function prepareOrder(form) { var selectedPayWay = $('.pay_cont.selected').data('way');
var result;
$.ajax({
type: 'POST',
url: '/Pay/CreateOrder',
data: { payWay: selectedPayWay },
success: function (response) {
if (response.IsSuccess) {
switch (selectedPayWay) {
case payWay.Terminal:
showBookingInfo(response.BookingId, response.ExpiredDate);
result = false;
break;
case payWay.Epay:
$("input[type=hidden][name=Signed_Order_B64]").val(response.SignedString);
$("input[type=hidden][name=appendix]").val(response.AppendixString);
result = true;
break;
}
} else {
toastr.options.timeOut = 10000;
toastr.info(response.Message);
result = false;
}
},
error: function () {
result = false;
},
async: false
});
return result;
}
问题是在新的ipad(Safari)CreateOrder
上未调用操作。在桌面浏览器上,它可以正常工作。控制台中没有错误。我尝试在之后添加警报:
success: function (response) {
像那样:
success: function (response) {alert(response.IsSuccess)
并且alert
还给我true
。为什么?如果CreateOrder
不调用。我还将日志记录添加到CreateOrder
操作中,并且没有输出字符串。
回答:
Safari和/或Ipad支持非常强大的缓存。我的应用程序中也遇到了同样的问题。尝试向您的控制器(甚至基本控制器)添加以下属性:
[OutputCache(NoStore = true, Duration = 0)]
以上是 Ajax无法在iPad上使用 的全部内容, 来源链接: utcz.com/qa/401835.html