gpt4 book ai didi

ajax - Nginx 在 Safari 中返回 400 错误

转载 作者:行者123 更新时间:2023-12-04 14:54:12 25 4
gpt4 key购买 nike

我正在尝试使用 Content-type: multipart/form-data 发送表单.在 Chrome、FF、Edge 中一切正常,但在 Safari 中则不然。它从 nginx 获得 400

二手 Laravel + Nuxtjs + Axios

在 nginx conf 中启用 error_log 调试后,我看到
[info] 11687#11687: *1 client prematurely closed stream: only 767 out of 907 bytes of request body received

最佳答案

这实际上是 Safari 上的一个错误。截至 WebKit build r230963这是固定的,但 Safari 上还没有更新。如果您想保持兼容行为,您需要从 axios 请求中发送的表单数据中删除空的文件字段。

就像是:

$('#myForm').find("input[type='file']").each(function(){
if ($(this).get(0).files.length === 0) {$(this).remove();}
});
var fData = new FormData($('#myForm')[0]);

此解决方案依赖于 jQuery,但您可以将此逻辑应用于任何库。

关于ajax - Nginx 在 Safari 中返回 400 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51849489/

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