我在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。答案 0 :(得分:2)
我只需将search.twitter.com添加到PhoneGap.plist / ExternalHosts。