API调用Node express服务器后显示错误消息

时间:2016-12-09 14:41:43

标签: javascript jquery ajax express spotify

我正在尝试根据从我的快递服务器收到的响应来处理前端的错误。我正从前端发出POST请求,将数据发送到快速服务器。然后,此端点(下面称为/endpoint)向Spotify API发出请求并返回歌曲列表。如果由于某种原因失败,我想让用户知道前端。我认为下面编写的代码是正确的,但是当Spotify请求失败时,它没有显示错误消息。

任何人都可以发现以下代码有任何问题吗?

Express App

app.post('/endpoint', function(req, res){
    var options = {
       url: url,
       method: 'POST',
       json: true
     }

    request-promise(options).then(function(body){
      console.log('All good!');
    }).catch(function(err) {
       if(err) {
         console.log(err);  
         res.json(err);     
       }
    });
}

jQuery代码

$.ajax({
     type: 'POST',
     url: 'http://localhost:3000/endpoint',
     contentType: 'application/json',
     data: JSON.stringify(data),
     success: function(data) {
         console.log(data);
     },
     error: function (err) {
        console.log(err);
     }
 });

1 个答案:

答案 0 :(得分:1)

您只需要为响应添加错误状态。来自express Response API Express 4.x

res.status(500).json({ error: 'message' });