gpt4 book ai didi

jquery - 跨域jQuery AJAX文件上传

转载 作者:行者123 更新时间:2023-11-30 23:43:23 24 4
gpt4 key购买 nike

所以重点是我有一个子域,它是用于上传文件的 API 端点。但是当我尝试使用 jQuery 将任何内容上传到此子域(来自主 www 域)时,我收到错误

XMLHttpRequest cannot load http://1.storage.site.net/upload. Origin http://www.site.net is not allowed by Access-Control-Allow-Origin.

我尝试了一切:nginx 中的 header 、源代码中的 header ,我什至尝试使用仅将文件发送到 stub 文件

<?php

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Max-Age: 1000');
header('Content-type: application/json');
header('Access-Control-Allow-Headers: *');

echo json_encode(['lulz' => 123]);

用两个词来说:没有任何作用。

但是。我注意到小文件(约 1MB)可以正确上传,而文件稍大一些(比如 5MB)——不是(不允许来源)。

有办法解决吗?

最佳答案

我敢打赌,5MB 文件对于 Apache 的 max_request_body 设置(或无论其名称是什么)来说太大,导致 PHP 脚本无法执行,因此永远无法发送这些 header ,这进而产生误导性的跨域错误。

如果这个假设成立,您应该在浏览器的“网络”选项卡中看到更多详细信息 - 上传脚本应该返回某种错误条件。

要进行调试,您可以执行常规的基于表单的文件上传、测试并调整直至其正常工作。

关于jquery - 跨域jQuery AJAX文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15433319/

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