Cordova 1.9.0 Ajax 未检索
Posted
技术标签:
【中文标题】Cordova 1.9.0 Ajax 未检索【英文标题】:Cordova 1.9.0 Ajax not retrieving 【发布时间】:2012-07-05 14:33:46 【问题描述】:我一直在关注http://wiki.phonegap.com/w/page/42450600/PhoneGap%20Ajax%20Sample 上的教程 构建一个简单的 AJAX 请求。但我希望看到的结果只是一张空白的白页。
<!DOCTYPE html>
<html>
<head>
<title>PhoneGap Ajax Sample</title>
<script type="text/javascript" src="phonegap.js"></script>
<script type="text/javascript">
function appReady()
var ajax = new XMLHttpRequest();
ajax.open("GET","http://search.twitter.com/search.json?q=bacon",true);
ajax.send();
ajax.onreadystatechange=function()
if(ajax.readyState==4 && (ajax.status==200||ajax.status==0))
eval('var data = ' + ajax.responseText + ';');
var theResults = data.results;
alert(theResults);
var theHTML = '';
for(var i=0;i<theResults.length;i++)
theHTML += ['<div class="tweet"',
'<div class="avatar"> <img src='+theResults[i].profile_image_url+' /></div>',
'<div class="tweet_content">',
'<h2>'+theResults[i].from_user+'</h2>',
'<p>'+theResults[i].text+'</p>',
'</div>',
'</div>'].join('');
document.getElementById('main').innerHTML = theHTML;
document.addEventListener("deviceready", appReady, false);
</script>
<style type="text/css">
.tweet padding-bottom:5px;
.avatar float: left; height: 48px; width: 48px;
.tweet_content margin-left: 60px; min-height: 48px;
</style>
</head>
<body>
<div id="main">
</div>
</body>
</html>
有什么想法吗?我环顾四周,听到 Cordova.plist this 和 External Hosts that,但找不到添加白名单服务器的位置...
任何帮助将不胜感激!
【问题讨论】:
以上代码在cordova 1.9和android 2.2中对我来说很好 对于白名单在您的项目文件夹中打开/res/xml/cordova.xml
并设置<access origin=''/>
标签。我正在使用<access origin="http://127.0.0.1*"/>
【参考方案1】:
您有权访问您的应用程序中的另一个网站。只需像这样更改cordava.xml。 要访问推特,
<?xml version="1.0" encoding="utf-8"?>
<cordova>
<access origin="http://search.twitter.com/"/>
<log level="DEBUG"/>
</cordova>
访问所有网站。
<?xml version="1.0" encoding="utf-8"?>
<cordova>
<access origin="*"/>
<log level="DEBUG"/>
</cordova>
【讨论】:
以上是关于Cordova 1.9.0 Ajax 未检索的主要内容,如果未能解决你的问题,请参考以下文章
Phonegap Cordova Ajax 请求 404(未找到)错误
使用带有 JSONP 的 AJAX 未捕获的 SyntaxError 和 CORS 错误
来自 ASP NET Web API 的 CORS 阻止 Ajax POST 调用 - 对预检请求的响应未通过访问控制检查