【发布时间】:2017-05-26 21:59:50
【问题描述】:
代码:
前端
$(document).ready(function(){
$('.delete-post').on('click', function(){
var id = $(this).data('id');
var section = $(this).data('section');
var url = '/users/delete/'+id;
if(confirm("Delete Post ?")){
$.ajax({
url: url,
type:'DELETE',
success: function(result){
console.log('Deleting post...');
window.location.href='/users/profile';
},
error: function(err){
console.log(err);
}
});
}
});
});
后端:
router.delete('/delete/:id', function(req, res, next) {
var id = req.params.id;
var section = req.params.section;
var image = "";
var author = "";
var postRef = firebase.database().ref("posts/"+section+"/"+id);
var userRef = firebase.database().ref("users/posts/"+id);
var likesRef = firebase.database().ref("users/likes/"+id);
var hotRef = firebase.database().ref("hot/"+section+"/"+id);
postRef.once('value', function(snapshot){
image = snapshot.image;
author = snapshot.author;
if (firebase.auth().currentUser.uid.toString() == author) {
var file = bucket.file(image);
file.delete(function (err, apiResponse) {
if (err) {
console.log(err);
}
else {
console.log("Deleted successfully");
postRef.remove();
userRef.remove();
hotRef.remove();
likesRef.remove();
req.flash('success_msg','Post Deleted');
res.send(200);
}
});
}
});
});
情况:
我添加了删除按钮,以便用户可以删除他的帖子。
当用户单击按钮时,会向我的 Node.js 服务器发出 AJAX 请求。
但我收到以下错误:
错误:
net::ERR_EMPTY_RESPONSE
问题:
这是什么错误,我该如何解决?
【问题讨论】:
-
该错误与您提供的代码无关。
-
@KevinB 我更新了我的问题。
-
您确定当您未能调用 res.send 时,其他地方的其他东西正在发送响应吗?目前,如果出现错误或未调用回调,您的请求将不会结束...
-
@Kevin 你是说我需要在 if 语句中为错误情况添加一个 res.send(200) 吗?
-
也许不是 200,但是总是以一种或另一种方式回应并不是一个坏主意。
标签: javascript jquery ajax node.js firebase