phonegap app:未捕获的ReferenceError:未定义require

时间:2014-05-16 16:44:43

标签: javascript cordova database-connection

我试图从我的phonegap应用程序连接到远程数据库。

我使用的是我发现的示例脚本,但它不起作用,因为我不断收到require is not defined错误。

这是我的代码(它在标签内):

  var Client = require('mysql').Client;
  var client = new Client(); 
  client.host ='1**.**.**.**8:****';
  client.user = '*****';
  client.password = '*****************';
  console.log("connecting...");
  client.connect(function(err, results) {
      if (err) {
          console.log("ERROR: " + err.message);
          throw err;
      }
      console.log("connected.");
      clientConnected(client);
  });

  clientConnected = function(client)
  {
    tableHasData(client);
  }           


  tableHasData = function(client)
  {
      client.query(
          'SELECT * FROM test_db.Users LIMIT 0,10',
          // you can keep this function anonymous
          function (err, results, fields) {
              if (err) {
                  console.log("ERROR: " + err.message);
                  throw err;
              }
              console.log("Got "+results.length+" Rows:");
              for(var i in results){
                console.log(results[i]); 
                console.log('\n');

                //console.log("The meta data about the columns:");
                //console.log(fields);     
              }
              client.end();
          });
  };

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您可能正在使用无法在Cordova上运行的nodeJS代码。这必须与node一起运行。

您需要做的是创建一个服务器(您将使用nodeJS运行代码)并通过API为客户端(您的Cordova应用程序)公开您的数据来获取它们。 (使用AJAX请求)