1

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に応答したいのですが、その方法が少しわかりませんか?

4

1 に答える 1

3

jQuery ajaxdataTypeは、サーバーから返されることを期待しているデータを表します。これは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})
})
于 2012-08-08T21:09:57.020 に答える