Javascript Angularjs[Ionic]将文件从副本打开到设备时出错

Javascript Angularjs[Ionic]将文件从副本打开到设备时出错,javascript,angularjs,cordova,cordova-plugins,ionic-framework,Javascript,Angularjs,Cordova,Cordova Plugins,Ionic Framework,我正在为我的实习创建一个应用程序,我遇到了一个问题,我需要转到服务器,并将数据从文件复制到本地数据库(以便用户可以访问脱机应用程序)。在PhoneGap中,它工作得很好,但由于布局更改为ionic,代码停止工作,有人能帮忙吗 这是我的代码: .controller('MapCtrl', function($scope) { var conect; if(navigator && navigator.connection && navigator

我正在为我的实习创建一个应用程序,我遇到了一个问题,我需要转到服务器,并将数据从文件复制到本地数据库(以便用户可以访问脱机应用程序)。在PhoneGap中,它工作得很好,但由于布局更改为ionic,代码停止工作,有人能帮忙吗

这是我的代码:

.controller('MapCtrl', function($scope) {  
var conect;
        if(navigator && navigator.connection && navigator.connection.type === 'none') 
        {
            conect=0;
        }
        else 
        {
            conect=1;
        }
 var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
 db.transaction(populateDB, errorCB);
  function populateDB(tx) {
tx.executeSql('DROP TABLE IF EXISTS DEMO');
                tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id INTEGER, NEVENTO, DATA, HORA, LOCAL, FREGUESIA, CATEGORIAS, DESC_BRE, DESC, LAT, LON)');
                if (window.XMLHttpRequest)
                {// code for IE7+, Firefox, Chrome, Opera, Safari
                    var xmlhttp = new XMLHttpRequest();
                }
                else
                {// code for IE6, IE5
                    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.open("GET", "https://dl.dropboxusercontent.com/u/2906080/event_catalog.xml", false);
                xmlhttp.send();
                xmlDoc = xmlhttp.responseXML;
                var x = xmlDoc.getElementsByTagName("EVENT");
                for (i = 0; i < x.length; i++)
                {
                    var xName = x[i].getElementsByTagName("NEVENTO")[0].childNodes[0].nodeValue;
                    var xData = x[i].getElementsByTagName("DATA")[0].childNodes[0].nodeValue;
                    var xHora = x[i].getElementsByTagName("HORA")[0].childNodes[0].nodeValue;
                    var xLocal = x[i].getElementsByTagName("LOCAL")[0].childNodes[0].nodeValue;
                    var xFregsia = x[i].getElementsByTagName("FREGUESIA")[0].childNodes[0].nodeValue;
                    var xCategoria = x[i].getElementsByTagName("CATEGORIAS")[0].childNodes[0].nodeValue;
                    var xDescbre = x[i].getElementsByTagName("BRE")[0].childNodes[0].nodeValue;
                    var xDesc = x[i].getElementsByTagName("DESC")[0].childNodes[0].nodeValue;
                    var xLat = x[i].getElementsByTagName("LAT")[0].childNodes[0].nodeValue;
                    var xLon = x[i].getElementsByTagName("LON")[0].childNodes[0].nodeValue;
                    tx.executeSql('INSERT INTO DEMO (id, NEVENTO, DATA, HORA, LOCAL, FREGUESIA, CATEGORIAS, DESC_BRE, DESC, LAT, LON) VALUES ("' + i + '", "' + xName + '", "' + xData + '", "' + xHora + '","' + xLocal + '", "' + xFregsia + '","' + xCategoria + '", "' + xDescbre + '","' + xDesc + '","' + xLat + '","' + xLon + '")');
                } 
                    alert("Base de dados actualizada!!");
      }
})
.controller('MapCtrl',函数($scope){
变量连接;
if(navigator&&navigator.connection&&navigator.connection.type==='none')
{
conect=0;
}
其他的
{
conect=1;
}
var db=window.openDatabase(“数据库”,“1.0”,“Cordova演示”,200000);
db.事务(填充B,错误CB);
函数填充B(tx){
tx.executeSql('DROP TABLE IF EXISTS DEMO');
tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO(id INTEGER、NEVENTO、DATA、HORA、LOCAL、FREGUESIA、CATEGORIAS、DESC_BRE、DESC、LAT、LON));
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
var xmlhttp=new XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
var xmlhttp=newActivexObject(“Microsoft.xmlhttp”);
}
open(“GET”https://dl.dropboxusercontent.com/u/2906080/event_catalog.xml“,假);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var x=xmlDoc.getElementsByTagName(“事件”);
对于(i=0;i

我将警报放在代码中,代码在
xmlhttp.send()之后丢失我认为这是跨领域的问题,有些人可以确认,并且可以提供很好的帮助。

这与只处理UI的Ionic framework无关。你能在Firebug或DevTools中显示控制台的内容吗?