【发布时间】:2012-03-22 12:28:21
【问题描述】:
我在 Xcode 4.3 中运行 iPhone 5.0 模拟器。 PhoneGap 1.4.1 已安装。我有以下 index.html 文件,类似于http://wiki.phonegap.com/w/page/42450600/PhoneGap%20Ajax%20Sample 的示例:
<!DOCTYPE html>
<html>
<head>
<title>PhoneGap Ajax Sample</title>
<script type="text/javascript" src="phonegap-1.4.1.js"></script>
<script>
function appReady(){
var ajax = new XMLHttpRequest();
ajax.open("GET","http://search.twitter.com/search.json?q=bacon",true);
ajax.onreadystatechange=function(){
alert(ajax.readyState);
alert(ajax.status);
if(ajax.readyState==4 && (ajax.status==200)){
document.getElementById('main').innerHTML = ajax.responseText;
}
}
ajax.send();
}
document.addEventListener("deviceready", appReady, false);
</script>
</head>
<body onload="onBodyLoad()">
<div id="main">
<p>before load</p>
</div
</body>
</html>
调试 alert() 调用到位后,我看到对话框显示 2,然后是 401,然后是 3,然后是 401,然后是 4,然后是 401。
401 对话框当然表明该请求未经授权。我尝试过除 twitter 以外的其他网站,但均未成功。我可以在模拟器上使用 Safari 浏览网页。当我在 Windows 上的 Eclipse 中创建 PhoneGap Android 项目时,上面的代码在我的 Droid 2 上按预期运行。我是 iOS 和 PhoneGap 开发的新手,所以我可能会忽略一些简单的东西。有什么想法吗?
顺便说一句,关于这个还有一两个其他问题,但设置不同,例如使用 OAuth。
【问题讨论】:
标签: javascript ios cordova xmlhttprequest ios-simulator