У меня есть html-страница, которая запускает запрос ajax:
$.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
}
})
И я хочу ответить на этот ajax запрос node.js, но я немного не уверен, как это сделать?
1
gilbertbw
9 Авг 2012 в 00:39
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})
})
3
travis
9 Авг 2012 в 03:27
1
Хотя, поскольку он сейчас упоминается, он использует экспресс:
– res.json()
, а не res.write(JSON.stringify())
. Кроме того, можно было бы сделать taken: users.length !== 0
, чтобы вырезать это разветвление.
jli
9 Авг 2012 в 01:22
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.
res.render()
, что эквивалентно отправке JSON?res.send()
может принимать объекты и теперь будет их объединять в JSON.stringify.