【发布时间】:2012-03-28 14:47:00
【问题描述】:
我正在使用Dailymotion Cloud 和plupload(HTML5 运行时)实现一个视频网站。
工作流程是:
通过 dmcloud API 获取上传 URL
将文件发布到此 URL
检索 JSON 数据作为响应以显示视频
我在上传时发布以下内容:xmlhttprequest cannot load origin http://localhost:3000 is not allowed by access-control-allow-origin
我的问题是上传失败,某些上传 URL 以不确定的方式。当一个上传 URL 有效时,它可以按照我想要的次数运行,当一个上传 URL 无效时,它永远不会起作用。
Dmcloud 服务器发送Access-Control-Allow-Origin: *。
每个请求分两次完成:首先发送OPTION 请求以确保 URL 接受来源。然后一个POST 请求就完成了。
OPTION 请求成功,标头良好,问题出现在POST 请求的末尾...
您认为这是 Dmcloud 服务器问题吗? chrome HTML5 问题?上传问题?
部分网络截图:
成功:OPTIONS 请求
成功:POST 请求
失败:OPTIONS 请求
失败:POST 请求
【问题讨论】:
-
你知道失败的 POST 请求是否真的命中了你的服务器吗?如果是这样,你有你的服务器如何响应的内容吗?您可以使用 Wireshark 之类的工具来查看实际的网络流量。我最初的猜测是失败的 POST 请求缺少 Access-Control-Allow-Origin 标头,但是如果没有看到网络跟踪和响应就很难说。
-
@monsur 好的,我认为你是对的......我没有时间进行数据包嗅探,但我发现所有失败请求之间的共同因素:目标服务器是
upload-02.dmcloud.net(good 网址位于upload-01)。所以这肯定是服务器端的错误,我会在dmcloud上开一张票。谢谢你的时间 ! (如果您想获得积分,请回答)
标签: html cross-domain plupload