2010-11-19 78 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回調。這幾乎是相同的技術。

相關問題