2017-08-12 42 views
2

字體端代碼(HTML,JavaScript)的我想要刪除按鈕,但我不能使用Ajax如何使用Ajax發送對象ID到後端(node.js的)

var retName = $(this).data("row-id"); 
    $.ajax({ 
      type: "POST", 
      url: "/delete", 
      data: 
      {'id' : ObjectId(retName)} 
      , 
      success: function() { 

      }, 
      error: function(textstatus, errorThrown) { 
      alert('text status' + textstatus + ', err ' + errorThrown); 
      } 
     }); 

後臺發送對象ID代碼(Node.js的)

app.post('/delete', function(require, response) { 
    db.open(function(error, db) { 
    db.collection('infodb', function(error, collection) { 
    var doc = require.body; 
    console.log(ObjectId(doc)) 
    collection.remove(doc, function() { 
    db.close(); 
    }); 
}); 
    }); 
}); 

非常感謝你

回答

0

我想在你的NodeJS,它應該是

app.post('/delete', function(require, response) { 
    db.open(function(error, db) { 
    db.collection('infodb', function(error, collection) { 
    var doc = require.body.id; 
    console.log(doc) 
    collection.remove(doc, function() { 
    db.close(); 
    }); 
}); 
    }); 
}); 

因爲您想要參數id

另外,因爲它已經是對象ObjectId我不明白爲什麼你會得到該對象的ID。

如果這不起作用,你嘗試傳遞另一個變量而不是你的ObjectId?

+0

謝謝你的回答,但我已經解決了這個問題。 – Chatethakhun

+0

Btw。我很確定它是'function(request,response){}'''function(require,response){}' –

0

我不確定你爲什麼使用「POST」方法刪除數據。爲什麼不能定義刪除方法並給api一個合適的名稱。由於API名稱不能是動詞,因此這裏的刪除是動詞。你可以像這樣定義你的代碼,我將把這個API名稱作爲「用戶」。你可以改變它

var retName = $(this).data("row-id"); 
    $.ajax({ 
      type: "DELETE", //Delete method here 
      url: '/user/'+retName , 
      success: function(data) { 
console.log(data); 
      }, 
      error: function(textstatus, errorThrown) { 
      alert('text status' + textstatus + ', err ' + errorThrown); 
      } 
     }); 

和節點JS

app.delete('/user/{id}', function(req, response) { 
console.log(req.params.id); //this will give you id 
    db.open(function(error, db) { 
    db.collection('infodb', function(error, collection) { 
    //var doc = require.body; 
    console.log(ObjectId(doc)) 
    collection.remove(doc, function() { 
    db.close(); 
    }); 
}); 
    }); 
}); 
相關問題