我在OS6和OS7设备上测试了我的应用程序,都运行得很好。但几天前,我在OS5设备上遇到了一个问题。所有的Ajax请求都不起作用。通过谷歌搜索,我发现在OS5中,ajax是被禁用的。这太奇怪了,我的应用程序必须在OS5设备上运行,但我不能进行Ajax调用。
为了解决这个问题,我搜索了一些旧的跨域方法,找到了“动态脚本”和“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)上不起作用。
发布于 2012-06-01 05:15:42
您是否有权访问要获取数据的服务器?如果需要,也许可以将其配置为以JSONP的形式获取数据。
https://stackoverflow.com/questions/8757120
复制相似问题