对express.js node.js响应JQuery Ajax post请求时出现问题
这是express.js服务器代码:对express.js node.js响应JQuery Ajax post请求时出现问题,jquery,ajax,node.js,post,express,Jquery,Ajax,Node.js,Post,Express,这是express.js服务器代码: var express = require('express') var app = express(); app.listen(8001); app.configure(function(){ app.use(express.bodyParser()); app.set('views',__dirname + '/views'); app.set('view engine', 'ejs'); app.use(express.st
var express = require('express')
var app = express();
app.listen(8001);
app.configure(function(){
app.use(express.bodyParser());
app.set('views',__dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.static(__dirname + '/public'));
app.use(express.cookieParser());
app.use(app.router);
});
app.get('/', function (req, res){
res.render('ajax.ejs');
});
app.post('/ajax', function (req, res){
console.log(req.body);
res.contentType('json');
console.log(JSON.stringify({response:'json'}));
res.write(JSON.stringify({response:'json'}));
res.end();
});
这是来自ajax.ejs
的代码:
<html>
<head>
<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
</head>
<body>
<form>
<input type="button" id="enter" value="Enter">
</form>
<script type="text/javascript">
$('#enter').click(function(){
$.ajax({
url: '/ajax'
, type: 'POST'
, cache: false
, data: { field1: 1, field2: 2 }
, complete: function() {
//called when complete
console.log('process complete');
},
success: function(data) {
alert(data);
console.log('process sucess');
},
error: function() {
console.log('process error');
},
});
});
</script>
</body>
</html>
$('#enter')。单击(函数(){
$.ajax({
url:“/ajax”
,键入:“POST”
,缓存:false
,数据:{field1:1,field2:2}
,完成:函数(){
//完成时调用
console.log(“进程完成”);
},
成功:功能(数据){
警报(数据);
console.log('processsuccess');
},
错误:函数(){
console.log('processerror');
},
});
});
我尝试的是响应AJAX post req,但是当AJAX.ejs
显示服务器发送的警报中的数据时,结果是[object object]
。问题出在哪里
提前谢谢 有什么问题吗<代码>数据应该是您的JSON对象
{response:'JSON'}
alert(JSON.stringify(data))
或console.log(data)
可能是更好的调试选项。真的!现在正确地显示它。谢谢您还应该改用res.json()