[英]WebWorker not concurrent with 2 XMLHttpRequest to php page with session_start();
[英]webworker and xmlhttprequest use is causing an origin error
我在使用WebWorkers和XHR尝试使用后台上传系统时遇到了一些问题。
在服务器端,我正在使用python tornado web服务器。 url的处理程序如下所示:
class FileHandler(RequestHandler):
def put(self,fileid):
self.set_header('Access-Control-Allow-Origin', '*')
...
在客户端我正在使用XHR(因为我试图通过WebWorker实现这一点)。 看起来像
uploadFile = (file,url) ->
xhr = new XMLHttpRequest()
xhr.open('PUT',url)
xhr.onload = (event) ->
...
xhr.send()
如果我在主线程中使用此函数它可以工作,但是如果我在我的WebWorker中使用它,它会失败并出现一个不允许出错的错误,即使它似乎将'Access-Control-Allow-Origin'设置为'*'也应该让它工作。
好吧,我通过在龙卷风代码中进行一些服务器端更改来实现此功能
class FileHandler(RequestHandler):
def put(self,fileid):
self.set_header('Access-Control-Allow-Origin', '*')
...
def options(self,fileid):
self.set_header('Access-Control-Allow-Origin', '*')
self.set_header('Access-Control-Allow-Methods', 'GET, PUT, OPTIONS')
在与客户端的XHR请求进行协商期间,需要使用选项动词来传递适当的标头信息。 我还需要在实际响应中重新发送标头,否则它仍然会失败。 会对任何进一步解释情况的评论感兴趣,因为我对这个“修复”的理解是不稳定的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.