2016-03-15 49 views
0

我從客戶端發送和使用快速查詢到數據庫找到那個人,我不知道如何從數據庫中搜索字符串。任何想法下面的代碼出了什麼問題?發送字符串,看看數據庫中是否存在價值使用快遞

search.html

<div class="row form-group"> 
      <label for="searcWorker" class="col-md-3">Search Worker:</label> 
      <div class="col-md-7"> 
       <input class="form-control" ng-model="vm.searchString" type="text"/> 
      </div> 
      <div class="col-md-2"> 
       <button type="button" class="btn btn-success" ng-click="searchPerson()">Search</button> 
      </div> 
     </div> 

ctrl.js

$scope.searchPerson = function(){ 
     console.log($scope.vm.searchString); 
     workerFactory.getPerson($scope.vm.searchString).then(function(response){ 
      console.log(response); 
     }); 
    } 

factory.js

getPerson:function(personName){ 
      return $http.get('/getPerson' , personName); 
      console.log('FACTORY', personName); 
     } 

個express.js

app.get'/getPerson', function(req,res){ 
    connection.query('SELECT * FROM worker_table', function(err, rows, fields) { 
    if (err) throw err; 
    Obj = rows; 
    }); 
    res.send(Obj); 
}); 
+0

你正在使用什麼類型的數據庫? – Rastalamm

+0

看起來像您在回調之外發送回復。 'Obj'將無效。 – PeterVC

+0

我正在使用mysql數據庫 – hussain

回答

1

只講評快遞部分:

app.get'/getPerson', function(req,res){ 
    connection.query('SELECT * FROM worker_table', function(err, rows, fields) { 
    if (err) throw err; 
    Obj = rows; 
    }); 
    res.send(Obj); 
}); 

應該是,假設連接是一個有效的對象,你已經正確設置它:

app.get('/getPerson', function(req, res) { 
    connection.query('SELECT * FROM worker_table', function(err, rows) { 
     if(err) { 
      res.sendStatus(500); // internal server error, you could also return a 
           // JSON, please notice that it is important to release the connection when it 
           // errors, you could log the error right afterwards 
      console.log(err.stack); 
     } else { 
      res.send(rows); 
     } 
    }); 
}); 

請注意,現在您的對象在查詢中被調用,您將不會收到數據,因爲connection.query是異步調用。

祝你好運。

相關問題