Javascript 子域和上载不起作用
我有通配符子域,例如: .example.com转到example.com/app/ 如果我使用目录而不是子域,uploadify似乎可以正常工作。但是当我使用SubDomain并点击上传图像时,什么都没有发生。它似乎加载的flash很好,没有JS错误,但当我点击按钮时,我没有得到一个文件浏览器。也许我处理通配符域的方式会影响它,不确定。以下是我的访问权限:Javascript 子域和上载不起作用,javascript,.htaccess,uploadify,wildcard-subdomain,Javascript,.htaccess,Uploadify,Wildcard Subdomain,我有通配符子域,例如: .example.com转到example.com/app/ 如果我使用目录而不是子域,uploadify似乎可以正常工作。但是当我使用SubDomain并点击上传图像时,什么都没有发生。它似乎加载的flash很好,没有JS错误,但当我点击按钮时,我没有得到一个文件浏览器。也许我处理通配符域的方式会影响它,不确定。以下是我的访问权限: RewriteCond %{HTTP_HOST} ^(.*).example.com RewriteCond %{HTTP_HOST} !
RewriteCond %{HTTP_HOST} ^(.*).example.com
RewriteCond %{HTTP_HOST} !^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/app/%1/$1 [P]
我还使用完整路径调用js和flash文件。它们不位于子域下,而是位于根域下。所以我只使用完整的url路径,下面是我的js示例:
$("#fileInput").uploadify({
'uploader' : 'http://example.com/js/upload/_scripts/uploadify.swf',
'script' : 'http://sub.example.com/discuss/upload/do_upload/' + session_id,
'cancelImg' : 'http://example.com/images/icons/del.png',
'folder' : '/files/',
'multi' : true,
'auto' : true,
'queueSizeLimit' : 10,
'buttonImg' : 'http://example.com/images/attachafile2.jpg',
'width' : 91,
'height' : 23,
'wmode' : 'transparent'
});
根据维基百科上的条目,这听起来好像不起作用,因为sub.domain.com!=就JavaScript而言,domain.com。也就是说,只要JavaScript相信它在请求同一个域,一切都应该是美好的 我认为如果你告诉Uploadify发布到原始的未重写路径,并允许Apache自动处理重写,那么JavaScript不会认为它违反了同源策略
例如:如果您将
domain.com/path/to/foo
重新映射到foo.domain.com
,然后在您的JavaScript请求中/path/to/foo
,Apache将相应地转换请求,JavaScript将不知道差异。祝你好运 通过尝试访问您的子域,您可能在JavaScript中遇到跨域冲突。不过我不确定。我真的不确定。我试图找到瓶颈,看看我是否可以在目录版本中打破它,但没有办法。这是我玩了更多之后发现的。我改变了一些东西的设置方式,现在似乎可以工作了。