AJAX响应错误:net :: ERR_EMPTY_RESPONSE

前端

$(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


这是什么错误,我该如何解决?

回答:

您得到的答复实际上是 正确的

。根据文档,Firebase返回200状态代码和 空响应net::ERR_EMPTY_RESPONSE就是这样

您应该做的就是检查响应中null200状态码和状态码;如果为true,则可以放心地假定帖子已删除。

我个人的观点是,Firebase应该真正考虑返回比 什么都没有的 实质性 内容 和通用的,万能的状态代码。我更喜欢204 No

Content或410 Gone。可惜。

-

附注:如果交不属于笔者这个条件不会返回任何东西-你的API仍然应该返回 的东西 (一个错误,可能是在这种情况下),即使你的条件不匹配。喜欢:

if (firebase.auth().currentUser.uid.toString() == author) { 

// your code

} else {

res.status(401).send("User does not have permission to complete the operation.")

}

以上是 AJAX响应错误:net :: ERR_EMPTY_RESPONSE 的全部内容, 来源链接: utcz.com/qa/436110.html

回到顶部