2015-11-24 4 views
0

появляется, когда я звонил ./insert post function Я думаю, что причина - app.use (bodyParser.urlencoded ({extended: false})); приложение.use (bodyParser.json()); этот код. как я могу решить эту проблему?post, express, node.js имеет ошибку. Ошибка: запрос прерван на IncomingMessage.onAborted

Error: request aborted 
at IncomingMessage.onAborted (C:\nodejs\node_modules\body-parser\node_modules\raw-body\index.js:269:10) 
at emitNone (events.js:67:13) 
at IncomingMessage.emit (events.js:166:7) 
at abortIncoming (_http_server.js:280:11) 
at Socket.serverSocketCloseListener (_http_server.js:293:5) 
at emitOne (events.js:82:20) 
at Socket.emit (events.js:169:7) 
at TCP._onclose (net.js:469:12) 

и код test.js

var express = require('express'); 
var app = express(); 
var connect_router = require('connect_router'); 
var url = require('url'); 
var mysql = require('mysql'); 
var fs = require('fs'); 
var ejs = require('ejs'); 
var bodyParser= require('body-parser'); 

app.use(bodyParser.urlencoded({extended:false})); 
app.use(bodyParser.json()); 

var connection = mysql.createConnection({ 
    host: 'localhost', 
    user: 'root', 
    password: 'password', 
    database :'test' 
}); 


app.get('/', function(req, res){ 
    res.send('hello world'+ Date.now()+"!!"); 
}); 

var member; 

app.get('/start', function(req, res){ 

    connection.query('select * from member;',function(err, data){ 

    console.log(data); 

    res.status(200).json({member: data}); 
    }); 

}); 

app.post('/insert',function(req, res, err){ 

    console.log('insert'); 

    var body= req.body; 


console.log(body); 
    res.writeHead(200, {'Content-type':'application/json'}); 

    connection.query('INSERT INTO member values('+body.id+','+body.password+','+body.paypal+')', function(err,res){ 
     if(err) throw err; 

    }); 
}); 

var server = app.listen(2000, function(){ 
    console.log("Express server is started (port :2000)") 
}); 

ответ

0

Первое. Ваш запрос неверен:

connection.query('INSERT INTO member values('+body.id+','+body.password+','+body.paypal+')', function(err,res){ 
       if(err) throw err; 

     }) 

Вы должны добавить кавычки для значений, чтобы сделать внешний вид запроса что-то вроде этого:

INSERT INTO member values('+body.id+',"'+body.password+'","'+body.paypal+'") 

Второй. Кажется, вы не отправляете ответ в браузер.

В-третьих. Вы не должны создавать запросы, используя конкатенацию, потому что вы уязвимы для SQL-инъекций.

Смежные вопросы