尝试使用NodeJS发出get请求

时间:2016-02-29 16:23:28

标签: javascript node.js

我正在尝试向我的NodeJS服务器端发出get请求,但它一直在说CERT_UNTRUSTED。 我在客户端使用的代码是:

function validateUser(){
  var userEmail = $("#userEmail").val();
  var userPassword = $("#userPassword").val();
  $.ajax({
    url: "https://changelog.twvending.net/ValidateUserByName?userName="+userEmail+"&userPassword="+userPassword,
    success: function(user){
        if (user === "bad user"){
            alert("Your credentials are incorrect, please try again");
        } else {            
            if (user.User.PermissionLevel === 3){
                localStorage.setItem("permission", "hello");
                    $("#newEntry").show();
                    window.location.href = "https://changelog.twvending.net";
            }
            else {
                alert("You do not have permission to make new entries");
                window.location.href = "https://changelog.twvending.net";
            }
        }

    }, 
    error: function(xhr,status,error){
    }
  });
}

并在服务器端

app.get('/ValidateUserByName', function (req, res) {
    res.setHeader("Access-Control-Allow-Origin", req.getHeader("Origin"));
  var userEmail = req.query.userName;
  var userPassword = req.query.userPassword;
  processInput(userEmail +" logged in");
    var request = require('request');
    request.get('https://32market.com/32marketpcitest/threesquaremarketrest.svc/ValidateUserByEmailULR?email='+userEmail+'&password='+userPassword,
   function (err, resp, body) {
       if (err){
           processInput ( err ) 
           console.log('Error: ' + err);
           return;
       }
       try {
            var user = JSON.parse(body); 
            res.send(user);
        }
        catch(err) {
            processInput('error logging in: invalid user name or password');
            res.send("bad user");
        }  
   });
});

我的问题是我错过了客户端或服务器不喜欢的内容。我还应该注意,这是我第一次做这样的项目。

1 个答案:

答案 0 :(得分:0)

我的猜测是你没有必要或过期的ssl证书来处理你的请求。可能32market.com是否使用https连接?这是你自己的网站吗?

您可以尝试添加

  process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; 

在您提出请求之前

但这并不完全安全。