2017-08-24 67 views
0

我正在向路由器發出ajax請求,該路由器會在數據庫中查找數據並返回到同一頁面。但不是獲取數據庫對象,我正在接收打印在客戶端的控制檯中的整個html頁面,在服務器端我得到正確的對象。我看過其他類似的問題,但找不到答案。我將不勝感激任何幫助。Ajax請求打印整個html頁面(ExpressJS)

我的路由器:

router.get('/usuario/receber', function(req, res) { 
     Redacao 
     .findOne({}) 
     .then(doc => {console.log(doc), res.render('usuario', doc)}) 
     .catch(err => { 
      console.log(err); 
      res.status(500).send({ message: err }); 
     }); 
}); 

我的觀點:

$(document).ready(function(){ 
    $('#target').click(function (e) { 
     e.preventDefault(); 

     function successCallback(responseObj){ 
      console.log(responseObj); 
     }; 

     $.ajax({ 
      url: "https://stackoverflow.com/users/usuario/receber", 
      type: "get", 
      success: function(response){ 
       successCallback(response); 
      } 
     }); 
    }); 
}); 

回答

0

這是因爲你正在使用res.render發送響應,這將渲染HTML字符串返回給客戶端。如果您希望返回使用JSON字符串代替,可以使用res.json

router.get('/usuario/receber', function(req, res) { 
     Redacao 
     .findOne({}) 
     .then(doc => {console.log(doc), res.json(doc)}) 
     .catch(err => { 
      console.log(err); 
      res.status(500).send({ message: err }); 
     }); 
}); 
+0

它的工作,謝謝! –