2010-11-19 79 views
0

确定这样的人http://upload.foobar.com/cgi-bin/upload.cgi“JQ没有定义”,即使jQuery是包含在<a href="http://foobar.com" rel="nofollow">http://foobar.com</a>上传

upload.cgi回报:

<script language="javascript" type="text/javascript" src="http://upload.foobar.com/jquery-1.3.2.min.js"> 
</script> 
<script language="javascript" type="text/javascript" src="http://upload.foobar.com/uploader.js"> 
</script> 
<script language="javascript" type="text/javascript"> 
UploaderRemote.redirectAfterUpload('http://foobar.com/proxyajax.php?url=http://upload.foobar.com/finished.php&upload=a53d7d18d879b432a2', 1); 
</script> 

从upload.cgi的信息是正确检索,问题是跨域限制仍然适用。

我试图只是复制被限制在子域的js函数,以便它与主域分离。

从子域导入jquery和uploader.js后,我尝试运行被限制的函数。 (我在UploaderRemote.redirectAfterUpload之前省略了“parent”,不知道它是否需要留在那里)。

问题是,JavaScript控制台说JQ没有在upload.foobar.com的uploader.js中定义,有没有一种方法来明确定义它?我试图在uploader.js之前包括jquery,但没有运气。

注:http://foobar.com都有自己的jQuery & uploader.js,但就像我之前说的,从http://uploader.foobar.com/cgi-bin/upload.cgi被抓住的JavaScript(parent.Uploader.redirectAfterUpload)没有被允许访问http://foobar.com uploader.js的功能

+0

你能给我们提供一些关于你正在寻找的行为的额外信息吗?你对upload.cgi返回的代码做了什么?将它注入到DOM中,并将其显示在iframe等中? – charisis 2010-11-19 07:55:44

+0

即时通讯javascript noob。我相信它被注入到DOM中,非常肯定它没有放入iframe中,否则它不会给我带来跨域冲突 – jiexi 2010-11-19 17:21:47

回答

1

试试这个:有upload.cgi只返回要运行

javascript代码如

redirectAfterUpload('http://upload.foobar.com/finished.php&upload=a53d7d18d879b432a2', 1); 

当你检索这个,只是eval()它。 你还没有提供任何关于如何调用upload.cgi的例子,或者你如何处理它的响应,所以我不能给出正确的代码。

顺便说一句,如果upload.cgi总是要重定向,那么可以让它只返回目标URL。

如果您想进一步调查此JSONP回调。这几乎是相同的技术。

相关问题