ajax - 简单的 AJAX 获取请求是 "pending"

标签 ajax node.js jquery express

我正在尝试实现一个简单的 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();
});

编辑:也包括服务器端代码:

Node/Express

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.');
    });
  });
};

最佳答案

您的服务器端函数不写入任何响应,因此浏览器会无限期地等待它。尝试编写一个响应,也许带有某种状态代码,客户端可以检查该状态代码以判断删除是否有效。像...

res.writeHead(200, { 'Content-Type': 'application/json' });
res.write(JSON.stringify({ status: OK }));
res.end();

关于ajax - 简单的 AJAX 获取请求是 "pending",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16285035/

相关文章:

javascript - 更新 Like 按钮而不刷新页面

php - laravel webview 中的 Ajax 文件上传不起作用

javascript - 获取变量不会发送到 PHP 脚本

javascript - 如何在键入时使用 jQuery 格式化美国/加拿大电话号码?

javascript - 如何在不向上滚动的情况下在视口(viewport)中显示文本?

javascript - 输入字段中的背景问题

javascript - 使用 jQuery $.ajax() 时如何使用 GET 在请求正文中发送数据

node.js - 如何在 Firebase Cloud Functions 中捆绑和要求非 JS 依赖项?

linux - 如何选择我的 npm 路径?

node.js - 升级npm和nodejs后如何修复npm包