【发布时间】:2018-09-14 12:09:34
【问题描述】:
Server site:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
app.use(express.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.get('/testJson', function (req, res) {
res.sendFile("/my_project/testJson"+ "/" + "testJson.html" );
})
app.post('/myaction', async function(req, res) {
var st = req.body.status;
res.status(200);
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({ status: st }));
});
app.listen(8081, function() {
console.log('Server running at http://127.0.0.1:8081/');
});
Client site
$.fn.ajaxShow = function(st) {
xhrct = $.ajax({
type: 'POST',
dataType: "json",
data : { status : st },
url: 'http://127.0.0.1:8081/myaction',
success: function (data) {
if(data!=null) {
var fotoData = $.parseJSON(data);
$(fotoData).each(function (i, obx) {
alert(obx.status);
});
}
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert("XMLHttpRequest:
"+XMLHttpRequest.responseText);
alert("textStatus: "+textStatus);
alert("errorThrown: "+errorThrown);
}
});
}
我想将JSON 的数据从node js 发送到jquery,但出现了一些错误。它提醒XMLHttpRequest.responseText 为空,textStatus 为“错误”,errorThrown 为空。在服务器上,我尝试res.setHeader('Content-Type', 'application/json') 和res.send(JSON.stringify({ status: st })),但它不起作用。我做错了什么?
我希望有人帮助我。
【问题讨论】:
-
可以试试
app.use(bodyParser.json())吗?
标签: javascript jquery node.js