Ajax POST可在野生动物园中使用,但不能在其他浏览器中使用

时间:2018-06-20 21:09:20

标签: javascript ajax google-chrome firefox safari

我有一个表单,该表单通过ajax脚本将表单发布到一些PHP代码中。奇怪的是,所有功能都可以在Safari中正常工作,但是一旦我在Firefox或Chrome中尝试使用它,尽管控制台未显示任何错误,但ajax调用会将所有内容视为错误处理。

    $('#newClearance').on("submit", function(e) {
    e.preventDefault();

    var formData = new FormData(this);

    $.ajax({
        method: 'POST',
        url: 'modules/avas/library/avas_functions.php?action=newClearance',
        data: formData,
        contentType: false,
        cache: false,
        processData: false,
        success: function (data, status) {
            $('#formModal').modal('hide');
            $.notify(data, {type: 'success'});
            $.get(window.location)
                .done(function (r) {
                    var newDom = $(r);
                    $('#clearanceList').replaceWith($('#clearanceList', newDom));
                });
        },
        error: function (data,status,error) {
            $.notify(error, {type: 'danger'});
        }
    });
});

如果我将html表单直接发布到PHP脚本,那么一切顺利,PHP脚本返回成功。它适用于所有浏览器。

我真的找不到线索,特别是因为相同的脚本(除了另一种形式)在所有浏览器中都运行良好。有人知道吗?

其他信息 要注意的一件好事是,表单和jquery放在模式中,就像您可能会注意到表单代码一样。

2 个答案:

答案 0 :(得分:0)

服务器日志收到请求后会说什么?

答案 1 :(得分:0)

解决方案的一部分似乎是表单的“提交”按钮,PHP脚本要求运行该按钮。我已经在PHP脚本中删除了这种情况,但仍然想知道为什么firefox / chrome无法发布提交按钮,而Safari可以发布。