我正在开发一个使用node.js作为后端服务器的项目,我使用postgresql作为我的数据库,但我在向node.js服务器发送数据时出现问题似乎是在$ .post方法。此外,当我运行我的页面时,我收到此错误
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
这是我的ajax代码:
$.ajaxSetup ({
cache: false
});
$( "#getButton" ).bind( "click", function(event, ui) {
var q = $("#text1").val();
//alert("Click "+q);
var jsonUrl = "https://nwen304-heroku-quote-server.herokuapp.com/quote/"+q;
//alert("Fetching result from "+jsonUrl);
$.get(jsonUrl, function(data) {
//alert(data.author);
$("#result").html("<p><b>"+data.author+" said "+data.text+"</b></p>")
}, 'json').fail(function(data) {alert(data.responseText); });
});
$( "#submitButton" ).bind( "click", function(event, ui) {
var postAuthor = $("#author").val();
var postQuote = $("#quote").val();
alert("Posting a new quote");
var jsonUrl = "https://nwen304-heroku-quote-server.herokuapp.com/quote";
var newQuote = { "author" : postAuthor, "text" : postQuote };
alert(JSON.stringify(newQuote));
$.post(jsonUrl, newQuote, function(data) {
alert("Added quote number " + data.pos + " " + data.author + " " + data.text);
$("#feedback").html("Added quote number " + data.pos + " " + data.author + " " + data.text);
$("#feedback").fadeTo(3000, 0);
}, 'json');
这是我的node.js POST:
app.post('/quote', function(req, res) {
console.log(req.body);
alert("yoooo");
if(!req.body.hasOwnProperty('author') || !req.body.hasOwnProperty('text')) {
res.statusCode = 400;
return res.send('Error 400: Post syntax incorrect.');
}
var count;
query = client.query('SELECT count(*) FROM quotes');
query.on('row', function(result){
if(!result){
return res.status(404).send( "Can't find quote number " + req.params.id );
}else{
count = parseInt(result);
}
});
var newQuote = {
author : req.body.author,
text : req.body.text
}
query = client.query('INSERT INTO quotes(author, quote, pos) VALUES($1, $2, $3))', [newQuote.author, newQuote.text, count+1]);
query.on('row', function(result){
if(!result){
return res.status(404).send('No quote found');
}else{
newQuote.pos++;
return res.status(200).send(newQuote);
}
});
//quotes.push(newQuote);
//// should send back the location at this point
//console.log("Added!");
//newQuote.pos = quotes.length-1;
//res.send(newQuote);
});
提前感谢您,如果问题很愚蠢我很抱歉我是node.js的新手