2012-05-16 28 views
1

我正在創建一個託管在域example.com上的web應用程序,我想下載1 MB的二進制文件來檢查下載速度,如果二進制文件託管在同一個域上,它的工作正常。使用另一個域中的Jquery無法正常工作?

但是,當我嘗試與另一個域,它停止工作。我嘗試了crossdomain屬性,但注意到會發生。

我的代碼如下:

jQuery143.ajax({ 
    type: 'GET', 
    url: 'http://example2.com/myfile.bin?id=xxxxxxx', 
    dataType: 'application/octet-stream', 
    success: function (msg) { 
    }, 
    complete: function (xhr, textStatus) { 
    } 
}); 

當我改爲 「example2.com」 與 「example.com」,其工作的罰款。所以請讓我知道我該如何解決這個問題。

我把crossdomain.xml放在example2.com上,所以請求狀態正常。

感謝, Laxmilal Menaria

回答

1

你可以嘗試發送數據類型爲「JSONP」跨域請求,並可以通過這個鏈接,幫助Cross domain Get with Jquery而且這個鏈接可以幫助你從開始remote JsonP

Jquery.ajax

「jsonp」:使用JSONP加載JSON塊。添加額外的 「?callback =?」到您的URL的末尾來指定回調。除非緩存選項設置爲true,否則通過向 URL附加查詢字符串參數「_ = [TIMESTAMP]」來禁用 緩存。

1

您的瀏覽器不允許進行跨域調用。 JSONP似乎是唯一的選擇,如果你從瀏覽器調用。

http://en.wikipedia.org/wiki/JSONP

+0

與jsonp相同的問題,但它允許json內容類型,我必須下載binaly文件, – LLM

+0

您需要將文件的內容包裝在Javascript方法內。該方法的名稱應該與回調相同。 –