2
我有一个发送FORMDATA变到另一个站点如下JavaScript文件发送FORMDATA:通过POST跨域
xhr.open("post", "http://host/path/file.php", true);
xhr.send(data);
数据变量正确填充我核实,这不是问题,因为有效载荷在我的网络标签读取正确的值,则请求头具有内容长度> 0:
Accept:*/*
Accept-Encoding:gzip,deflate
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6
Connection:keep-alive
Content-Length:6021726
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryAj8A2cYqFIFtNwHI
Host:host
Origin:http://host
Referer:http://host/path
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36
然而响应头的Content-Length = 0:
Access-Control-Allow-Origin:*
Content-Length:0
Content-Type:text/html; charset=UTF-8
Date:Thu, 02 Oct 2014 19:34:49 GMT
Server:Microsoft-IIS/8.5
X-Powered-By:PHP/5.6.0
X-Powered-By:ASP.NET
任何帮助将不胜感激,我读了IE和Windows身份验证的问题,导致这一点,但我使用的是Chrome和Firefox。对于这两个网站我都允许匿名和Windows身份验证(它们都是IIS站点)。任何帮助将不胜感激。
作为额外的评论,我读过一些有类似问题的人说,当他们切换到GET,而不是POST它的作品。对我来说情况并非如此,当我通过GET发送数据时,内容长度仍然为0。 – mgrenier 2014-10-06 13:41:09
我觉得代码很好,请求包含数据,但它永远不会到达带有数据的PHP脚本。在它之间的某个地方它会被丢弃,我认为它可能与我的IIS服务器有关,但我不知道它为什么阻止它或者如何解决问题。 – mgrenier 2014-10-06 14:17:03
新的更新,我能够从我的POST变量中获得价值,现在我在过去几天中玩了很多东西,但我不确定它是什么,但是我的数据的一部分是通过的。我的文章数组包含3个字符串和一个媒体文件。我正在测试的是一个5MB的视频,它不会通过。我没有错误,但是当我打印POST数组时,它不是数组的一部分,只接收到一小部分发送的数据(根据收到的“6021739发送的”340的内容长度)请帮忙。 – mgrenier 2014-10-08 13:44:12