使用Express.js中的JQuery AJAX从客户端javascript向服务器发送HTTP POST请求时收到500内部服务器错误。 这是在客户端运行的p.js文件。
function dataHandler(conn,data)
{
var datalol=data;
console.log(datalol);
dataString={"data":datalol};
$.ajax({
method:'POST',
url:window.location.href+'recieve/',
data:JSON.stringify(dataString),
dataType:'json'
}).done(function(data){
console.log(data);
}).fail(function(error,jqXHR,textStatus){
console.log(error);
console.log(jqXHR);
console.log(textStatus);
});
}
服务器上运行的index.js文件。
router.post('/recieve',(req,res) => {
var json1=JSON.parse(JSON.stringify(req.body.data));
console.log(json1);
var json2=JSON.parse(json1.data);
console.log(json2);
var newblock=new Block(json2[0].index,json2[0].previousHash,json2[0].timestamp, json2[0].data, json2[0].hash);
addBlock(newblock);
res.send("Success");
});
答案 0 :(得分:0)
在此链接(https://gist.github.com/diorahman/1520485)找到解决方案。我不知道为什么要用contentType替换dataType:" application / json"解决了这个问题。