大家好我有这个代码:
function test()
{
req = new XMLHttpRequest();
req.upload.addEventListener("progress", updateProgress, false);
req.addEventListener("readystatechange", updateProgress, false);
req.addEventListener("error", uploadFailed, false);
req.addEventListener("abort", uploadCanceled, false);
var data = generateRandomData(currentPayloadId);
totalSize = data.length;
req.open("POST", "www.mydomain.com/upload.aspx");
start = (new Date()).getTime();
req.send(data);
}
function updateProgress(evt)
{
if (evt.lengthComputable) {
total = totalSize = evt.total;
loaded = evt.loaded;
}
else {
total = loaded = totalSize;
}
}
Run Code Online (Sandbox Code Playgroud)
此外,我的服务器响应了对于upload.aspx的初始OPTIONS请求200和Access-Control-Allow-Origin:*然后第二个请求POST发生
一切似乎都已到位,它在FireFox上运行良好,但在G Chrome上,updateProgress处理程序不会被调用但只调用一次,然后lengthComputable为false.
我需要Access-Control-Allow-Origin:*因为这是一个跨域调用,脚本父级是不同服务器上的资源,然后是upload.aspx域
任何人都可以给我一些线索,提示,请帮忙吗?这是G Chrome的一个已知问题吗?
谢谢!OVA
javascript security google-chrome xmlhttprequest updateprogress