【发布时间】:2013-03-15 21:18:18
【问题描述】:
所以重点是我有一个子域,它是用于上传文件的 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]);
用两个词来说:没有任何作用。
但是。我注意到小文件 (~1MB) 可以正确上传,而文件稍大一些(比如 5MB)— 不(不允许来源)。
有什么办法可以解决吗?
【问题讨论】:
-
奇怪的是小文件可以工作。我不希望有任何工作,因为它违反了same-origin policy。
-
@Mike 这就是他发送
Access-Control-*标头的原因。他们告诉浏览器,“我知道这违反了政策,但这很酷,伙计。” en.wikipedia.org/wiki/…
标签: jquery ajax nginx cross-domain