2016-11-22 165 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'); 

感謝所有:)

相關問題