gpt4 book ai didi

php - ajax 不再适用于 iPhone

转载 作者:行者123 更新时间:2023-12-03 21:00:49 24 4
gpt4 key购买 nike

我使用 php 和 ajax 使用表单将数据插入到 mysql 数据库中。它始终适用于桌面和移动设备。

现在,在插入数据时,仅从 IPHONE(在 iphone 6s 和 iphone x 上测试,无论是从 Safari 还是从 Chrome)该过程都不起作用,并报告 400 或 0 错误。

从台式机和设备苹果并不是万能的。

这是代码:

<script  type="text/javascript">
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader('HTTP_X_REQUESTED_WITH_AJAX', 'true');
}
});
</script>
<script type="text/javascript">
$(document).on("submit", "form", function(event){

event.preventDefault();
$('#ShowData').html('<img src="img/loader.gif" height="16" width="16"/>');

$.ajax({
url: 'ins_ok.php',
type: 'POST',
data: new FormData(this),
processData: false,
contentType: false,
success: function (data, status)
{
$('#ShowData').html(data);
$('#Ins')[0].reset();
$('#Data').datepicker('update', '');

},
error: function (xhr, desc, err)
{
alert('Dati al momento non disponibili. Riprovare più tardi.');
console.warn(xhr.responseText);
alert(xhr.status);
alert(err);
}
});
});
</script>

最佳答案

在新的 iOS 11 更新中,formData() 对象存在问题。当我尝试提交带有图像选项的表单时,我遇到了同样的问题,如果用户不包含图像,则会失败。

现在,我猜想,当 iOS 使用 formData() 对象时,如果图像输入值为空,它只会尝试发送一个空对象,这对于 JSON 来说是非法的。我最终创建了一个令人讨厌的函数:

if (image input is null) {
disable the image input;
}

然后在回调完成后,我必须再次“重新启用”图像输入功能。我花了几个小时寻找解决方案,但它确实很新,因为 iOS 11 太新了。

这是对这个问题的引用,帮助我解决了这个问题: My $.ajax request stopped working properly on iOS 11.3

关于php - ajax 不再适用于 iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50951523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com