2012-01-06 52 views
1

我測試了我的應用程序在OS6和OS7設備上,都運行良好。但是幾天前,我在OS5設備上遇到了一個問題。所有的Ajax請求都不起作用。谷歌搜索後,我發現在OS5中,ajax被禁用。這太奇怪了,我的應用程序必須在OS5設備上工作,但我無法進行Ajax調用。Phonegap Blackberry 5跨域通信

爲了解決這個問題,我搜索了舊的跨域方法,並找到了「動態腳本」和「IFrame」方法。這裏是一個文章描述他們:

http://www.openjs.com/articles/ajax/transfer_methods_xmlhttprequest_alternatives.php

但我不知道非XMLHttpRequest的或非ActiveX方法的例子。有沒有人有關於這些方法的實例?我有一個服務器上的jsp文件發送給我一個XML響應。

一個工作示例會讓我如此感激。

在此先感謝。

[編輯]

我決定使用iframe交叉側的通信,但是無法得到的iFrame的內容,我的代碼是這樣的:

function onIFrameLoad(i) { 
    var response; 
    if(i.contentDocument){ 
     response = i.contentDocument; // For NS6 
    }else if(i.contentWindow){ 
     response = i.contentWindow.document; // For IE5.5 and IE6 
    } 
    var parser = new PListParser(); 
    var result = parser.parsePList(response); 
    .... 
} 

<iframe id="iFrame" onload="onIFrameLoad(this);" src="[a url]"></iframe> 

這在波紋模擬器中運行良好,但不適用於真實設備(os5)。

回答

0

您是否有權訪問提取數據的服務器?如果你這樣做,也許你可以配置它作爲JSONP獲取數據。