Kir*_*tov 5 ajax jquery nginx cross-domain
所以重点是我有一个子域,它是用于上传文件的API端点.但是,当我尝试将任何带有jQuery的内容上传到此子域(来自主www域)时,我收到错误
XMLHttpRequest无法加载http://1.storage.site.net/upload.Access-Control-Allow-Origin不允许使用原点http://www.site.net.
我尝试了一切:nginx中的头文件,源代码中的头文件,我甚至尝试将文件发送到存根文件
<?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]);
Run Code Online (Sandbox Code Playgroud)
用两个词:没有工作.
但.我注意到小文件(~1MB)正确上传,文件稍大(比如说5MB) - NOT(不允许来源).
有没有办法解决这个问题?
我敢打赌,5MB 文件对于 Apache 的设置(或无论其名称是什么)来说太大max_request_body,导致 PHP 脚本无法执行,因此永远无法发送这些标头,这反过来又会生成误导性的跨域错误。
如果这个假设成立,您应该在浏览器的“网络”选项卡中看到更多详细信息 - 上传脚本应该返回某种错误条件。
要进行调试,您可以执行常规的基于表单的文件上传、测试并调整直至其正常工作。