javascript - Ajax POST 在 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 被放置在一个模式中,正如您可能会从代码中注意到的那样。
解决方案
部分解决方案似乎是表单的“提交”按钮,这是 PHP 脚本运行所必需的。我已经在 PHP 脚本中删除了这个条件,但仍然想知道为什么 firefox/chrome 不 POST 提交按钮而 safari 会。
推荐阅读
- sql - Oracle DB:从数据库中不存在的列表中选择值
- python - Pandas:根据源列中的值将值写入目标列,而不覆盖目标列中的任何现有值
- kotlin - 内部类和外部类的括号是什么意思?
- python - Python Selenium:提取 Chrome 和 Firefox 浏览器的 PID
- python - Get n users from pandas dataframe by id
- google-sheets - 根据另一个工作表中的列表格式化单元格
- reactjs - 比较 2 个对象并以更智能的方式根据第一个对象调整第二个对象
- sql - 以下问题的 Informix SQL 是什么?
- java - 爪哇 | JPA | 如何将多个重复注释组合成单个注释?
- java - 使用 Java apache poi 和 React 通过 API 发送 xls