2016-11-22 164 views
0

我工作的离子项目,这是我的app.jsapp.js:未捕获的语法错误:缺少)后的参数列表

var db = null; 

angular.module('starter', ['ionic','starter.controllers', 'ngCordova']) 

.run(function($ionicPlatform) { 
    $ionicPlatform.ready(function() { 
    if(window.cordova && window.cordova.plugins.Keyboard) { 
     cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
     cordova.plugins.Keyboard.disableScroll(true); 
    db = $cordovaSQLite.openDB("my.db", location: 0, iosDatabaseLocation: 'Default'); 
    $cordovaSQLite.execute(db, 
     "CREATE TABLE IF NOT EXISTS contacts(id integer primary key, firstname text, lastname text, mobile number, email text)"); 

    } else { 

    db = openDatabase("my.db", '1.0', "My WebSql ", 2*1024*1024); 

    db.transaction(function(tx) { 
     tx.executeSql("CREATE TABLE IF NOT EXISTS contacts(id integer primary key, firstname text, lastname text, mobile number, email text")); 
    }  

    } 
    if(window.StatusBar) { 
     StatusBar.styleDefault(); 
    } 
    }); 
}) 

的错误是

app.js:11 Uncaught SyntaxError: missing) after argument list missing) in line 11

这里是第11行:

db = $cordovaSQLite.openDB("my.db", location: 0, iosDatabaseLocation: 'Default'); 

我检查了所有支架,没有丢失一个 哪里出了问题

回答

1

它看起来像问题是在:标志。由于你没有传入一个对象,分析器会抛出一个错误。尝试用0Default代替location: 0iosDatabaseLocation: 'Default

+0

这是让它工作,谢谢 – sawcs

+0

没问题:)记得标记为答案。 – praetoriaen

1

所有地方都有缺失的圆括号和格式错误的代码。使用代码编辑器对代码着色(例如Atom)并使用适当的缩进来检测这些错误。

var db = null; 
angular.module('starter', ['ionic','starter.controllers', 'ngCordova']) 
.run(function($ionicPlatform) { 
    $ionicPlatform.ready(function() { 
    if(window.cordova && window.cordova.plugins.Keyboard) { 
     cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
     cordova.plugins.Keyboard.disableScroll(true); 
     db = $cordovaSQLite.openDB("my.db", location: 0, iosDatabaseLocation: 'Default'); 
     $cordovaSQLite.execute(db, 
     "CREATE TABLE IF NOT EXISTS contacts(id integer primary key, firstname text, lastname text, mobile number, email text)"); 

    } else { 

     db = openDatabase("my.db", '1.0', "My WebSql ", 2*1024*1024); 

     db.transaction(function(tx) { 
     tx.executeSql("CREATE TABLE IF NOT EXISTS contacts(id integer primary key, firstname text, lastname text, mobile number,email text)"); 
     });  

    } 
    if(window.StatusBar) { 
     StatusBar.styleDefault(); 
    } 
    }); 
}); 

您可能还希望确保这条线是根据openDB规范格式正确的:

db = $cordovaSQLite.openDB("my.db", location: 0, iosDatabaseLocation: 'Default'); 

location:0看起来怪怪的。请问openDB需要一个字符串参数列表还是一个对象?

+0

啊太慢了,我只是扩大我的答案说几乎相同 – Subsurf

0

我想,你应该把参数包装在一个对象中。

尝试改变这一行

db = $cordovaSQLite.openDB("my.db", location: 0, iosDatabaseLocation: 'Default'); 

了这一点。

db = $cordovaSQLite.openDB({name: "my.db", location: 0, iosDatabaseLocation: 'Default'}); 

db = $cordovaSQLite.openDB("my.db", 0, "Default"); 

希望这有助于:)

0

这就是答案

db = $cordovaSQLite.openDB("my.db", 0, "Default"); 

代替:

db = $cordovaSQLite.openDB("my.db", location: 0, iosDatabaseLocation: 'Default'); 

感谢所有:)

相关问题