Javascript 使用node.js从服务器获取数据

Javascript 使用node.js从服务器获取数据,javascript,ajax,html,node.js,Javascript,Ajax,Html,Node.js,我想用get方法对node.js进行ajax调用 ajax调用的结果将显示在我调用ajax函数的同一html页面中 这是html代码: <!DOCTYPE html> <html lang="en"> <head> <title>Sing-in Page</title> <link rel="stylesheet" href="css/style.css"> <script src="//code.jque

我想用get方法对node.js进行ajax调用 ajax调用的结果将显示在我调用ajax函数的同一html页面中

这是html代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Sing-in Page</title>
  <link rel="stylesheet" href="css/style.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script>
    $(function() {
      $("#myform").bind('ajax:complete', function() {
             // tasks to do 
             alert('1');
       });    
    });
  </script>
</head>
<body>
  <form method="get" action="http://localhost:8080/Login" id="myform" class="login">
    <p>
      <label for="login">Email:</label>
      <input type="text" name="login" id="login" value="">
    </p>
    <p>
      <label for="password">Password:</label>
      <input type="password" name="password" id="password" value="">
    </p>
    <p class="login-submit">
      <button type="submit" class="login-button">Login</button>
    </p>
    <p class="forgot-password"><a href="index.html">Forgot your password?</a></p>
  </form>
</body>
</html>

我想从数据库中获取sql查询的结果,您几乎已经得到了它-只需在关闭连接后添加res.send()

在客户端,您可以绑定成功事件

$("#myform").bind('ajax:success', function(result) {
    alert(result);
});

如果试图在服务器上触发数据事件,则必须向服务器发送数据,可能需要使用Jquery的post方法,如中所示:

var postSomething = function(){

    $.post
    (
        "http://127.0.0.1:3000/",
        {wooo:'wooo'},
        function(data)
        {
         console.log(data);
        }
    );
}
当发生“数据”事件时,应在响应对象中写入一些数据:

req.on('data', function(sock) {
      res.writeHead(200, {"Content-Type": "text/plain"});
      res.end("Hello!!");
});

将HTTP Get发送到服务器:

$.get( "YOUR_URL_HERE/Login", function( data ) {
  alert( data );
});
要返回Json结果,可以执行以下操作:

app.get('/Login', function(req, res) {
    var result;
    pool.getConnection(function(err, connection) {
        var sql = 'select count(id) as ok from users where email=\''+req.body.login+'\' and password=\''+req.body.password+'\';';
        console.log("query: "+sql);
        connection.query( sql, function(err, rows) {
            console.log(rows[0].ok);
            result = rows[0].ok;
            connection.end();
        });
    });
    res.writeHead(200, { 'Content-Type': 'application/json' });
    res.json({ status: result })
});

您可以使用以下内容:

app.get('/Login', function(req, res) {
          pool.getConnection(function(err, connection) {
        var sql = 'select count(id) as ok from users where email=\''+req.body.login+'\' and password=\''+req.body.password+'\';';
        console.log("query: "+sql);
        connection.query( sql, function(err, rows) {
            console.log(rows[0].ok);
            connection.end();
            var returnData = {};
            returnData.message = rows[0].ok; 
            return res.json(200, returnData);
        });
        });


});

$.post向服务器发送HTTP post,但其“/Login”函数正在等待HTTP Get。我认为这是错误的,对吗?嗨,在我使用send函数之后,我如何才能在html端获取数据?我的jq myform函数不会向我的任何东西发出警报=(编辑以回答您的问题-绑定ajax:success事件:)
app.get('/Login', function(req, res) {
    var result;
    pool.getConnection(function(err, connection) {
        var sql = 'select count(id) as ok from users where email=\''+req.body.login+'\' and password=\''+req.body.password+'\';';
        console.log("query: "+sql);
        connection.query( sql, function(err, rows) {
            console.log(rows[0].ok);
            result = rows[0].ok;
            connection.end();
        });
    });
    res.writeHead(200, { 'Content-Type': 'application/json' });
    res.json({ status: result })
});
app.get('/Login', function(req, res) {
          pool.getConnection(function(err, connection) {
        var sql = 'select count(id) as ok from users where email=\''+req.body.login+'\' and password=\''+req.body.password+'\';';
        console.log("query: "+sql);
        connection.query( sql, function(err, rows) {
            console.log(rows[0].ok);
            connection.end();
            var returnData = {};
            returnData.message = rows[0].ok; 
            return res.json(200, returnData);
        });
        });


});