5

シンプルな AJAX GET リクエストを実装しようとしています。このリクエストは、データベース内のドキュメントを削除するようサーバーに指示します。ドキュメントが削除されたというサーバーからの確認を取得している間、Chrome インスペクターはリクエストが「保留中」であることを示し、最終的にサーバー エラーが発生します。

私は間違って何をしていますか?

HTML

<div class="delete-note">
    <a href="#"><i class="icon-minus-sign"></i></a>
</div>

JS

$('.delete-note').click(function(e) {
  var url = '/docs/' + doc_id + '/note_destroy/' + note_id;
  $.ajax({
    type: "GET",
    url: url,
    cache: false,
  });
  e.preventDefault();
});

編集:サーバー側のコードも含めます:

ノード/エクスプレス

exports.note_destroy = function(req, res) {
  Doc.findOne({ doc_id : req.params.doc_id }, function(err, data) {
    if (err) throw (err);
    note_id = req.params.note_id;
    data.notes.id(note_id).remove();
    data.save(function(err) {
      if (err) throw (err);
      console.log('note ' + note_id + 'is removed.');
    });
  });
};
4

1 に答える 1

7

サーバー側関数は応答を書き込まないため、ブラウザは無期限に待機します。おそらく、クライアント側がチェックして削除が機能したかどうかを確認できる何らかのステータスコードを使用して、応答を書いてみてください。何かのようなもの...

res.writeHead(200, { 'Content-Type': 'application/json' });
res.write(JSON.stringify({ status: OK }));
res.end();
于 2013-04-30T09:53:31.790 に答える