当前位置: 首页 > 面试题库 >

AJAX响应错误:net :: ERR_EMPTY_RESPONSE

程博学
2023-03-14
问题内容

码:

前端

$(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.")
}


 类似资料:
  • 问题内容: 我正在向我的jQuery发送错误响应。但是,我无法获得响应文本(在下面的示例中,这将成为 “去海滩” ) jQuery唯一说的是“错误”。 有关详细信息,请参见以下示例: 的PHP jQuery的 现在我的结果是: 日志: 警报: 无法执行,因为:错误 有任何想法吗? 问题答案: 尝试:

  • 问题内容: 我通过jQuery AJAX将一些数据发布到PHP脚本中,并且一切正常执行,但是返回了404错误。在我的Firebug控制台中,PHP脚本的响应是正确的。我不了解该脚本如何响应,它仍然会引发404错误。jQuery的“错误”回调方法将触发,而“成功”方法则不会触发。 PHP脚本执行的所有语句都能正常工作,因为我可以看到数据库正在更新等。 我在Dreamhost托管的WordPress

  • 如果资源访问请求失败,资源服务器应该通知客户端该错误。虽然规定这些错误响应超出了本规范的范围,但是本文档在11.4节建立了一张公共注册表,用作OAuth令牌身份验证方案之间分享的错误值。 主要为OAuth令牌身份验证设计的新身份验证方案应该定义向客户端提供错误状态码的机制,其中允许的错误值限于本规范建立的错误注册表中。 这些方案可以限制有效的错误代码是注册值的子集。如果错误代码使用命名参数返回,该

  • 授权服务器使用HTTP 400(错误请求)状态码响应,在响应中包含下列参数: error 必需的。下列ASCII[USASCII]错误代码之一: invalid_request 请求缺少必需的参数、包含不支持的参数值(除了许可类型)、重复参数、包含多个凭据、采用超过一种客户端身份验证机制或其他不规范的格式。 invalid_client 客户端身份验证失败(例如,未知的客户端,不包含客户端身份验证

  • 问题内容: 对于不正确的Ajax操作,我将HTTP标头代码设置为403并发送以下响应: 但是,在处理错误时我无法访问此数据…是否可以从jqXHR访问“消息”数据? 像jqXHR.message之类的东西? 非常感谢您的帮助… EDIt: 返回: 但是xhr.responseText.message不返回任何内容… 编辑:此代码有效: 问题答案: 您应该进入jQuery“错误”回调… http://

  • 问题内容: 我真的很难站起来从html页面到我的node.js应用程序然后再回到html页面的双向数据传输。 我很确定我已经找到了正确的解决方案,但是我只是没有使它起作用。 我在node.js应用程序中使用了以下内容: 以下是我的html页面: 因此,当我运行节点应用程序时,服务器运行正常。当我启动html页面时,收到警报“在这里!”。当我按下按钮“ NameGameIt”时,我收到警报“现在怎么