【问题标题】:Access-Control-Allow-Origin / Plupload HTML5 / Cross-Domain / DMcloudAccess-Control-Allow-Origin / Plupload HTML5 / 跨域 / DMcloud
【发布时间】:2012-03-28 14:47:00
【问题描述】:

我正在使用Dailymotion Cloudplupload(HTML5 运行时)实现一个视频网站。

工作流程是:

  1. 通过 dmcloud API 获取上传 URL

  2. 将文件发布到此 URL

  3. 检索 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.netgood 网址位于 upload-01)。所以这肯定是服务器端的错误,我会在dmcloud上开一张票。谢谢你的时间 ! (如果您想获得积分,请回答)

标签: html cross-domain plupload


【解决方案1】:

所以这是一个服务器端问题:Access-Control-Allow-Origin 标头未在 upload-02.dmcloud.net 上发送。

Dmcloud 支持团队的好人很快解决了这个问题。

感谢@monsur,他帮助我确定了问题。

【讨论】:

    猜你喜欢
    • 2013-11-23
    • 2019-02-28
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 2018-09-29
    • 1970-01-01
    相关资源
    最近更新 更多