我正在尝试实现一个简单的 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.');
});
});
};
您的服务器端函数不会写入任何响应,因此浏览器会无限期地等待它。尝试编写一个响应,也许包含某种状态代码,客户端可以检查该状态代码以判断删除是否有效。就像是...
res.writeHead(200, { 'Content-Type': 'application/json' });
res.write(JSON.stringify({ status: OK }));
res.end();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)