Javascript Node.js在选项上停止
我发送了一个POST类型的XMLHttpRequest,当我这样做时,服务器关闭并说 usr/lib/node_modules/mysql/lib/protocol/sequences/Sequence.js:96 this.\u callback.apply(this,arguments); ^ TypeError:此.\u callback.apply不是函数 在Query.Sequence.end(/usr/lib/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24) 在/usr/lib/node_modules/mysql/lib/protocol/protocol.js:399:18 at Array.forEach(本机) 在/usr/lib/node_modules/mysql/lib/protocol/protocol.js:398:13 at_combinedTickCallback(内部/流程/下一步勾选js:67:7) 在进程中。_tick回调(内部/process/next_tick.js:98:9) 我的服务器代码:Javascript Node.js在选项上停止,javascript,mysql,node.js,server,Javascript,Mysql,Node.js,Server,我发送了一个POST类型的XMLHttpRequest,当我这样做时,服务器关闭并说 usr/lib/node_modules/mysql/lib/protocol/sequences/Sequence.js:96 this.\u callback.apply(this,arguments); ^ TypeError:此.\u callback.apply不是函数 在Query.Sequence.end(/usr/lib/node_modules/mysql/lib/protocol/seque
var express = require('express');
var cors = require('cors');
var bodyParser = require('body-parser');
var mysql = require('mysql');
var app = express();
app.use(cors());
app.use( bodyParser.json() );
app.use(bodyParser.urlencoded({extended: true}));
var db_con = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '****',
database : 'quizz'
});
app.post('/questions', function (request, response){
var query = db_con.query("SELECT DISTINCT question_id, description FROM QUESTION WHERE country=?", [request.body.country]," ORDER BY RAND() LIMIT 5", function(err,result ) {
if (err)
console.log(err);
response.json({"questions": result});
});
});
var server = app.listen(8080, function() {
console.log('Listening at http://%s:%s', server.address().address, server.address().port);
});
客户端代码:
function get_questions(){
var xhr = new XMLHttpRequest();
xhr.open('POST' , 'http://localhost:8080/questions', true);
xhr.setRequestHeader('Content-Type','application/json');
xhr.onload = function(){
if (!response.error) {
var response = JSON.parse(xhr.responseText);
var Score = response;
var output = Score;
console.log(Score);
}
};
xhr.send(JSON.stringify( {"country": "Saudi Arabia"} ) );
}
您的查询应该如下所示:
var query = db_con.query("SELECT DISTINCT question_id, description FROM QUESTION WHERE country=? ORDER BY RAND() LIMIT 5", [request.body.country], function(err,result) {
if (err)
console.log(err);
response.json({"questions": result});
});
第一个参数应该是查询字符串,第二个参数应该是参数,第三个参数应该是回调
下次你遇到类似问题时,首先