Javascript get请求在浏览器中工作,而不是在PhoneGap生成中
我看过其他的例子,看起来我做的一切都是对的,但显然我遗漏了一些东西。在我的桌面上运行时,它运行得非常好。一旦通过PhoneGap Build捆绑到应用程序中,它就不再起作用了:(不知道是否有人能发现原因。它真正做的就是从xml响应中挑选独特的项并列出它们。谢谢 迈克Javascript get请求在浏览器中工作,而不是在PhoneGap生成中,javascript,cordova,phonegap-build,Javascript,Cordova,Phonegap Build,我看过其他的例子,看起来我做的一切都是对的,但显然我遗漏了一些东西。在我的桌面上运行时,它运行得非常好。一旦通过PhoneGap Build捆绑到应用程序中,它就不再起作用了:(不知道是否有人能发现原因。它真正做的就是从xml响应中挑选独特的项并列出它们。谢谢 迈克 特斯塔普 函数onBodyLoad(){ //预加载数据 loadXMLDoc('http://login.etherios.com/ws/DiaChannelDataFull'); } 函数loadXMLDoc(url){ if
特斯塔普
函数onBodyLoad(){
//预加载数据
loadXMLDoc('http://login.etherios.com/ws/DiaChannelDataFull');
}
函数loadXMLDoc(url){
if(window.XMLHttpRequest){//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
var lastXBee=0;
ADVAR通道=0;
txt=“title”;
x=xmlhttp.responseXML.documentElement.getElementsByTagName(“DiaChannelDataFull”);
对于(i=0;i我放弃了这一点,决定转向另一个方向。我想我应该补充一点,我意识到上面的代码中没有id或密码信息,我希望它能像使用浏览器一样提示我在手机间隙侧登录。如果是这样的问题,我如何让它提示我?您是否配置了access origin是否允许访问您的服务器?您好。我已将其打开以访问所有内容,但没有访问来源=“*”/。我还将xml phone gap版本参考更改为3.1.0。我还将该应用程序安装在较旧的android设备上。此外,我尝试从放在同一rood目录中的test.xml文件中访问xml数据。所有这些更改均未导致移动版本正常工作(它们在safari浏览器上仍能正常工作)。
<!DOCTYPE HTML>
<html>
<head>
<title>TestApp</title>
<script type = "text/javascript" charset = "utf-8" src = "cordova-2.3.0.js"></script>
<!-- Jquery stuff -->
<meta name = "viewport" content = "width = device-width, initial-scale = 1">
<link rel="stylesheet" href="jquery/jquery.mobile-1.4.0.min.css" />
<script src="jquery/jquery-1.10.1.min.js"></script>
<script src="jquery/jquery.mobile-1.4.0.min.js"></script>
<script type = "text/javascript">
function onBodyLoad(){
//pre-loads data
loadXMLDoc('http://login.etherios.com/ws/DiaChannelDataFull');
}
function loadXMLDoc(url) {
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
var lastXBee=0;
var adChannel=0;
txt="<table border='0' width='%100'><tr><th>title</th></tr>";
x=xmlhttp.responseXML.documentElement.getElementsByTagName("DiaChannelDataFull");
for (i=0;i<x.length;i++) {
xx=x[i].getElementsByTagName("ddInstanceName"); {
if (lastXBee!=xx[0].firstChild.nodeValue) { // if not a reading from same , start new row
try {
txt=txt + "<tr>";
txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
}
catch (er) {
txt=txt + "<tr>";
txt=txt + "<td> </td>";
}
var lastXBee=xx[0].firstChild.nodeValue;
var sameRow="No";
}
else {}
}
}
txt=txt + "</table><br />";
document.getElementById('currentStatus').innerHTML=txt;
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
</script>
</head>
<body onload = "onBodyLoad()">
<h4>Current Status:</h4>
<!-- **** Call to getRequestList.js file *** -->
<button onclick="loadXMLDoc('http://login.etherios.com/ws/DiaChannelDataFull')">Refresh Sensor Data</button>
<div id="currentStatus"></div>
<br />
</body>
</html>