Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX';通过CORS将blob绑定到另一个域_Javascript_Php_Ajax_Cors_Same Origin Policy - Fatal编程技术网

Javascript AJAX';通过CORS将blob绑定到另一个域

Javascript AJAX';通过CORS将blob绑定到另一个域,javascript,php,ajax,cors,same-origin-policy,Javascript,Php,Ajax,Cors,Same Origin Policy,有人能告诉我为什么这个请求不能通过SO策略限制吗 JS: 另一个域上被调用的PHP页面: header('Access-Control-Allow-Origin: *'); file_put_contents('log.txt', 'script accessed'); 请求确实会发出,并且会写入日志,但浏览器会阻止响应。我对同一个脚本有另一个请求,它不是blob,而是一个普通的post请求,响应很好。问题似乎只是blob请求,我不知道为什么或者我正在做的事情实际上是否被禁止 [研究工作:当我

有人能告诉我为什么这个请求不能通过SO策略限制吗

JS:

另一个域上被调用的PHP页面:

header('Access-Control-Allow-Origin: *');
file_put_contents('log.txt', 'script accessed');
请求确实会发出,并且会写入日志,但浏览器会阻止响应。我对同一个脚本有另一个请求,它不是blob,而是一个普通的post请求,响应很好。问题似乎只是blob请求,我不知道为什么或者我正在做的事情实际上是否被禁止


[研究工作:当我发现时,我满怀希望,但根据OP的问题,重复的答案只处理一般的COR,而不是BLOB]

经过大量的挖掘和实验,我发现了一个解决方法:即,将编码从
application/octet-stream
更改为
application/x-www-form-urlencoded

对于前者,请求被阻止,即使被调用的web服务显式地允许CORS的调用方域。对于后者,允许调用方域通过

然而,这带来了一个新问题:以这种方式发送的数据,至少发送到PHP web服务,可能会超过
max\u input\u vars
stat

通过.htaccess文件增加它可以克服这一问题,如下所示:

php_value max_input_vars 50000000

解释了原因。TL;DR:对于非标准编码,您必须使用飞行前CORS请求,而不是简单的请求。最大的警告是,您不能使用thoseAha执行
访问控制允许源代码:
,因此它是有文档记录的,而不是bug。谢谢你的提示。
php_value max_input_vars 50000000