net::ERR_EMPTY_RESPONSE && Uncaught (in promise) TypeError: Failed to fetch

Posted

技术标签:

【中文标题】net::ERR_EMPTY_RESPONSE && Uncaught (in promise) TypeError: Failed to fetch【英文标题】: 【发布时间】:2018-04-03 22:22:57 【问题描述】:

好吧,我的代码运行良好,但今天我收到代码中显示的行抛出的错误:

/**
 * HTTP request to check if email is repeated
 */
checkEmail=()=>
    /**
     * HTTP request is developed
     */
    let req=new Request('/preview',
        method:     'POST',
        body:       JSON.stringify(this.data),
        headers:    new Headers('Content-Type':'application/json'),
    )
    /**
     * Send HTTP request
     */
    return fetch(req).then(res=>res.json()) // Error is thrown at this line: net::ERR_EMPTY_RESPONSE

我研究了类似的问题,例如this,但我无法弄清楚为什么会抛出错误,我更困惑的是代码运行正常并且这个错误突然出现


在服务器端,我有以下代码。我没有修改任何代码,所以我不知道为什么会抛出错误

/**
 * Check if email is repeated
 */

emailExists=(email)=>
    let sql=`SELECT * FROM signups WHERE email='$email'`
    return new Promise((resolve,reject)=>
        db.query(sql,(error,result)=>
            if(error)
                reject(error)
            else
                if(result.length>0)
                    /**
                     * Email already exists
                     */
                    resolve(true)
                else
                    resolve(false)
                
            
        )
    )


/**
 * Route for checking email only
 */
server.post('/preview',(req,res)=>
    /**
     * Email address is needed
     */
    let data=
        email:          req.body['email'],
    
    /**
     * Check if email is repeated
     */
    emailExists(data.email).then(exists=>
        if(exists)
            res.json(
                error:
                    code:'Email is already registered',
                    errno:'Please enter another email address'
                ,
                result:null
            )
        else
            res.json(
                error:null,
                result:'Email is available'
            )
        
    )

)

【问题讨论】:

【参考方案1】:

几个月前我问过这个问题。我记得我终于弄清楚了错误的原因。该错误是由于 MariaDB 服务器崩溃/故障造成的。

因此,我的代码没有任何问题。

【讨论】:

以上是关于net::ERR_EMPTY_RESPONSE && Uncaught (in promise) TypeError: Failed to fetch的主要内容,如果未能解决你的问题,请参考以下文章

EasyPlayer.js播放M3u8报错net::ERR_EMPTY_RESPONSE,如何解决?

AJAX 调用中的 ERR_EMPTY_RESPONSE 随机时间

我收到 favicon.ico 错误

页面未在 chrome 中加载

我的电脑使用chrome打不开网页?