1

我在 OS6 和 OS7 设备上测试了我的应用程序,两者都运行良好。但是几天前,我在 OS5 设备上遇到了一个问题。所有的 Ajax 请求都不起作用。经过一番谷歌搜索,我发现在 OS5 中,ajax 被禁用。太奇怪了,我的应用程序必须在 OS5 设备上运行,但我无法进行 Ajax 调用。

为了解决这个问题,我搜索了旧的跨域方法并找到了“动态脚本”和“IFrame”方法。这是一篇描述它们的文章:

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

但我没有关于非 xmlHttpRequest 或非 ActiveX 方法的示例。有没有人有关于这些方法的工作示例。我在服务器上有一个向我发送 xml 响应的 jsp 文件。

一个可行的例子会让我非常感激。

提前致谢。

[编辑]

我决定使用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>

这在 Ripple Emulator 中运行良好,但不适用于真实设备(os5)。

4

1 回答 1

0

您是否有权访问要获取数据的服务器?如果这样做,也许您可​​以将其配置为以 JSONP 格式获取数据。

于 2012-05-31T21:15:42.110 回答