Jquery ajax调用在移动设备上不起作用

时间:2014-06-28 12:57:47

标签: javascript php jquery html ajax

我正在尝试使用ajax和jquery在用户选中复选框时提交表单。然后它应该向order.php页面提交ajax调用。

这是使用的javascript

$(document).ready(function () {
    $("#statusform").on("change", "input:checkbox", function () {
        $("#statusform").submit();
    });
});

$(function () {
    $('#statusform').on('submit', function (e) {
        e.preventDefault();
        $.ajax({
            type: 'POST',
            url: 'order.php?id=<?php echo $id; ?>&action=changestatus',
            datatype: "json",
            data: $(this).serialize(),
            success: function (data) {
                console.log(data["json"]);
            },
            error: function (jqXHR, textStatus, errorThrown) {
                console.log(JSON.stringify(jqXHR));
                console.log("AJAX error: " + textStatus + ' : ' + errorThrown);
            }
        });
    });
});

继承人的形式

<form id="statusform">
    <input type="checkbox" data-role="flipswitch" name="betalt" id="betalt" data-on-text="Betalt" data-off-text="Ikke betalt" data-wrapper-class="custom-size-flipswitch" <?php if ($row['betalt']) {echo "checked";}?>>
    &nbsp;&nbsp;
    <input type="checkbox" data-role="flipswitch" name="leveret" id="leveret" data-on-text="Leveret" data-off-text="Ikke leveret" data-wrapper-class="custom-size-flipswitch" <?php if ($row['leveret']) {echo "checked";}?>>
</form>

桌面PC浏览器上的一切正常,但是当我在iphone上使用谷歌浏览器移动浏览器时,它似乎没有做任何事情。

你们有没有想法?

1 个答案:

答案 0 :(得分:1)

似乎我找到了答案......至少有点。

问题在于IOS上的Chrome浏览器。当您单击achor链接(&#34; a href&#34;)时,例如指向&#34; Order.php&#34;。它将输入URL http://website.com/#/order.php - 这会导致AJAX调用由于某种原因停止工作。

如果我删除了哈希,它就会按预期工作。

我认为主题标签是由jquery mobile引起的,因为链接在jquery移动选项卡控件中,并且是一个jquery移动列表视图。在Safari(iOS),Chrome(PC)和IExplorer(PC)上,一切都按预期工作,链接不会添加主题标签。

有人知道为什么铬会这样做吗?也许如何规避问题?