2017-08-05 4 views
0

dbを検索して文書を削除/更新する関数をトリガするために、バックエンドにjqueryを使用してフロントエンドからリクエストを送信する方法を理解できません。ボタンを押してドキュメントを削除/更新したいだけです。私は郵便配達員を介してリクエストを提出すれば、すべて正常に動作します。私はノードの初心者であり、解決策を見つけることができませんでした。フロントエンドからバックエンドノード/エクスプレス機能を起動するには?

app.js

app.delete('/delete/:id', (req, res) => { 
 
    let id = req.params.id; 
 
    if (!ObjectID.isValid(id)) { 
 
    return res.status(400).send(); 
 
    } 
 
    Blog.findByIdAndRemove(id).then((docs) => { 
 
    res.status(200).send({docs}) 
 
    }).catch((e) => { 
 
    res.status(400) 
 
    }); 
 
}); 
 

 
app.patch('/update/:id', (req, res) => { 
 
    var id = req.params.id 
 
    var update = {autore: req.body.autore} 
 
    if (!ObjectID.isValid(id)) { 
 
    res.status(400).send() 
 
    } Blog.findByIdAndUpdate(id, update, {new: true}).then((docs) => { 
 
     res.send({docs}); 
 
    }).catch((e) => { 
 
    res.status(400) 
 
    }); 
 
});

HTML

<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    <meta charset="utf-8"> 
 
    <title>Titolo</title> 
 
    </head> 
 
    <body> 
 
     <button id:"cancella" type="submit">Submit</button 
 

 
    <script src="/js/jquery.js"></script> 
 
    <script src="/js/script.js"></script> 
 
    </body> 
 
</html>

このscript.jsファイルはバックエンドでも管理する必要がありますか?

ありがとうございます!あなたjQuery変更する必要がありますが、そのbodyidを送信しているが、nodeで、あなたのquery parameters ..

になっている中

script.js

$(document).ready(function() { 
 
$('#cancella').on("click", function() { 
 
    $.ajax({ 
 
    url: '/delete/:id', 
 
    type: 'DELETE', 
 
    data: {"_id": 5984f1a8d2c11b0354d1601b}, 
 
    dataType: 'json', 
 
    success: function(data) { 
 
    console.log('Dati cancellati!' + data); 
 
    }}); 
 
}); 
 
});

答えて

0

あなたのjQueryのURLとあなたはを送る必要はありません:

$(document).ready(function() { 
$('#cancella').on("click", function() { 
    var baseURL = 'http://localhost' // depending of your config you should set this 
    $.ajax({ 
    url: baseURL + '/delete/' + 5984f1a8d2c11b0354d1601b, 
    type: 'DELETE', 
    success: function(data) { 
    console.log('Dati cancellati!' + data); 
    }}); 
}); 
}); 

これは、私のbaseURLで、動作していないようなトリック

+0

'http://192.168.0.4:3000' と他のIDを行う必要があります。ブラウザがリクエストを送信しないようです:( – Artax5005

関連する問題