javascript - Node : Setting the error message and sending it back to UI

标签 javascript node.js

Node 服务器正在发布到第三方网站并获取响应。
如果响应包含诸如密码不匹配。之类的内容,服务器将向UI发送诸如400:错误密码。之类的错误。否则服务器将分析响应并从中发送部分数据。
我无法将errorMessage发送回UI。如何从anaylzeData方法返回错误对象并将其发送回客户端?
代码:

app.post('/login', [express.urlencoded(), express.json()], function(req, res) {
    request.post({
      url: 'http://teeSpring.com/login/submitLogin',
      form: {
        email: req.body.email,
        password: req.body.password
      }
    }, function(error, response, body) {
      if (error) {
        console.log('Error is: '+JSON.stringify(error));
        res.send(400, "There is some problem  here.");  
      } else if(body){
        console.log('Body is :')//+JSON.stringify(body));
        var serverResp = analyzeData(body);
        console.log('Server Response is :'+serverResp);
        res.send(serverResp);
      }
   });
});

analyzeData = function(responseData) {
  var respModel=[];
  var errorMessage;
  $ = cheerio.load(responseData);
  $(".errors > p").each(function(i, element) {
    console.log($(this).text().indexOf("The password you entered is incorrect"));
    if ($(this).text().indexOf("The password you entered is incorrect") >= 0) {
      console.log('finds the error')
      var error = new Error("Password did not match");
      error.code = 400;
      errorMessage = error;
      return false;
    }; 
  });

最佳答案

对于analyzeData()的成功案例,您没有返回任何内容

关于javascript - Node : Setting the error message and sending it back to UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22134297/

相关文章:

javascript - 在Android中如何通过socket.io发送带有参数的POST/GET或通过socket.io调用feathersjs服务?

java - 如何使用算法 RSA/ECB/PKCS1Padding 通过 node.js 对加密字符串进行加密

node.js - 如何判断异步调用是否是最后一次

javascript - Highcharts 不显示具有多个 Y 轴的图形的系列数据

javascript - 任何 Javascript DateTime 函数返回 MySQL 日期时间格式?

javascript - 当我刷新时,React Router 不显示组件

javascript - 使用 gulp-imgmin 多次压缩或缩小图像是否不好?

javascript - 纯javascript检测数字输入值的变化

javascript - 事件监听器看不到 div#id 元素,也不与它合作

node.js - 使用远程服务器的 TLS 身份验证