如何从服务器向客户端发送错误消息?

时间:2019-10-28 17:09:28

标签: javascript node.js reactjs express axios

我正在从快递服务器发出一些请求,我想知道如何将错误消息传递给客户端。我希望能够在从客户端以及从服务器进行控制台控制台操作时看到错误消息,但是我不确定如何将此消息转发回客户端以使其成为可能。

这是我的server.js文件中的请求示例

app.get('/assign*', (request, response) => {
    var baseurl = 'https://OURACC.nocrm.io/api/v2/'
    var apikey = crmkey;

    var pathname = request.url; // retrieves the requested pathname (ie, /crm/path)
    pathname = pathname.split('?');
    pathname = pathname[0].split('/')
    var parameters = request.query.params;
    var path = pathname[2]; // gets request path for the crm

   var lead_id = parameters.lead_id
    var user_id = parameters.user_id

    var params = {
        user_id: user_id
    }

    if(path === 'leads'){

            axios.post(baseurl + path + '/' + lead_id + '/assign',
                params
            ,{
                headers: {'X-API-KEY': apikey, content_type: "json", accept: "application/json"} 
            }).then(function(res){
                response.send(res.data);
            }).catch(function(error){
                console.log("ERROR in /assign/leads/{id}/assign" + error);
            })

    }

})

此请求的调用看起来像客户端

 $.get('/assign/leads', {params: data}).then(response => {
                console.log(response);
            }).catch(error => {
                console.log(error);
            })

我已经在服务器端尝试过

response.send(error)

但是这并没有像我期望的那样给我任何回报。

我确定这很简单,但是谢谢,我在网上找不到很多。

2 个答案:

答案 0 :(得分:1)

如果我正确阅读了您的代码,只需将response.send(yourErrorMessage)放在catch块中

答案 1 :(得分:0)

您必须指定响应代码。例如:

res.status(400);
res.send('None shall pass');