当前位置: 首页 > 面试题库 >

Ajax无法在iPad上使用

华煜祺
2023-03-14
问题内容

我有一个表格:

<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)]


 类似资料:
  • 本文向大家介绍HTML5视频无法在iPad上使用jquery bxSlider插件,包括了HTML5视频无法在iPad上使用jquery bxSlider插件的使用技巧和注意事项,需要的朋友参考一下 要使其工作,请从官方网站下载bxslider插件。从下载的bxslider zip中获取图像文件夹,然后将其粘贴到项目的js文件夹中。 所有文件夹现在看起来像- 以上应该可以解决您的问题。

  • 问题内容: 由于某些未知原因,iPad Safari不会显示很长的背景图像。在 我的示例中 ,背景图像为1,000 x 10,000像素。相同的示例适用于任何桌面浏览器,例如Safari,Firefox等。 我知道CSS中的,但不幸的是,它不适用于我的特定情况。 问题答案: Mobile Safari对其在进行二次采样之前将显示的背景图像大小有限制,由于背景的大小,您可能会遇到此问题: 对于具有小

  • 问题内容: 我发现用AJAX上传图像似乎不符合表单中指定的multipart,因为我检查它是否为multipart()的代码从不起作用(在Java中)。 我有这个HTML表单: 以下是我的Ajax代码,该代码将图像发送到地址处的上传处理程序。我的Java代码中的uploadPost()方法首先确定上传是否为多部分,但是,似乎ajax不会将图像作为多部分发送。是否因为我在表单上使用了jQuery的s

  • 我已经在一个iOS的应用程序中实现了facebook登录。在iPhone的一切都运行良好,但在iPad的意义上,它不显示一个uialert控制行动表的注销选项未打开。它会产生以下错误: 您的应用程序提供了UIAlertController()风格的UIAlertControlllerStyleActionSheet。具有此样式的UIAlertController的modalPresentation

  • 问题内容: 我很难在MVC3上进行验证。当我直接加载页面时,它工作正常,但是当我使用jquery AJAX POST时,它无法验证: 使用加载此表单,这是呈现的HTML: 通过拦截表单/提交来使用AJAX POST。帖子完成后,将弹出并关闭模式对话框。我想在发送帖子之前验证表格: 我这样做是否破坏了某些东西? 始终返回true。 我的web.config具有: 我的页面来源有: 我的模型有: 经过

  • 我对iPad上的方向有一个问题。我禁用了iPhone上的方向,但我可以在某些特定的控制器上以编程方式更改它。但在iPad上我不能。我不知道为什么,尽管我在这个网站上搜索,一些开发人员编写答案以检查,我这样做了。但它禁用了所有屏幕上的方向。有没有办法在iPad上的特定控制器上提供更改方向的能力? 下面的代码我用来改变iPad的方向,但它不起作用。 提前感谢