【问题标题】:Getting ajax request response node.js获取ajax请求响应node.js
【发布时间】:2015-06-18 18:00:17
【问题描述】:

我有一个触发 ajax 请求的 html 页面:

$.ajax({
                type: 'POST',
                url: '/usernamecheck',
                data: {"username":username},
                success: function(taken){
                    if(taken === 0){
                        $('#error').text('The username' + username + ' is available!')
                    }else{
                        $('#error').text('The username' + username + ' is not available')
                    }
                },
                dataType: "json"
            })

这是我的 node.js 代码:

exports.usernameCheck = function(req,res){
var db;
db = require('./../custom_modules/db.js');
var username = req.body.username;
db.users.find({username:username},function(err,users){

    console.log(username)
    if(users.length === 0){
        //return 0
    }else{
        //return1
    }
})

我想用 node.js 请求响应这个 ajax,但有点不确定该怎么做?

【问题讨论】:

  • 嗯,您要做的第一件事就是编写一个 Web 服务器并让它响应对 /usernamecheck 的发布请求。你有没有为节点写过任何东西?我认为您的问题不够具体,无法真正给出一个好的答案。
  • @travis 我有,我会更新我的问题
  • 您的 AJAX 所做的只是通过 Javascript 发出一个正常的 HTTP 请求。如果你设置了一个网络服务器,你只需像有人在他们的浏览器中输入 URL 一样响应(尽管使用 json 或其他东西)。
  • @jli 你能给我一个代码示例吗?我使用 express 并使用 res.render() 渲染 html 页面发送 JSON 的等效项是什么?
  • res.send() 可以获取对象,并且现在也将 JSON.stringify 它们。

标签: javascript jquery ajax node.js


【解决方案1】:

jQuery ajax dataType 代表您期望从服务器返回的数据。我会将其保留为 json,只需更改代码的其他部分以适应数据类型。

客户

$.ajax({
  type: 'POST',
  url: '/usernamecheck',
  data: {"username":username},
  success: function(response){
    if( response.taken === true){
      $('#error').text('The username' + username + ' is available!')
    }else{
      $('#error').text('The username' + username + ' is not available')
    }
  },
  dataType: "json"
})

节点

db.users.find({username:username},function(err,users){
  res.json({taken: users.length !== 0})
})

【讨论】:

  • 尽管现在提到他使用的是 express:res.json() 而不是 res.write(JSON.stringify())。另外,可以使用taken: users.length !== 0 来切断该分支。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-15
  • 2021-02-07
  • 2021-05-13
  • 2019-07-20
  • 1970-01-01
  • 2014-11-05
相关资源
最近更新 更多