【发布时间】:2016-05-24 13:29:16
【问题描述】:
html代码=>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/input.js"></script>
</head>
<body>
<form>
<table>
<tr><td>Name</td><td><input type="text" id="name" ></td></tr>
<tr><td> Address</td><td><input type="text" id="address"></td></tr>
<tr><td>Sex</td><td><input type="radio" name="sex" id="sex" value="male">Male
<input type="radio" id= "sex"name="sex" value="Female">Female</td></tr>
<tr><td>DOB</td><td><input type="date" id="dob"></td></tr>
<tr><td>Course</td>
<td><select id="course">
<option value="0">select..</option>
<option value="B.Tech">B.TECH</option>
<option value="MCA">MCA</option>
<option value="MBA">MBA</option>
<option value="BCA">BCA</option>
</select></td>
</tr>
<tr><td>EmailId</td><td><input type="text" id="emailid"></td></tr>
<tr><td>MobileNo</td><td><input type="text" id="mobileno"></td></tr>
<tr><td colspan="2"> <button id="submit">Submit</button>
</table>
<form>
</body>
</html>
input.js => 当提交按钮点击的值被传递给插入。
$(document).ready(function()
{
$('#submit').click(function()
{
var name=$("#name").val();
var address=$("#address").val();
var gender=$("#sex:checked").val();
var dob= $("#dob").val();
var course=$("#course").val();
var email= $("#emailid").val();
var mobileno=$("#mobileno").val();
var data={'name':name,'address':address,'gender':gender,'dob':dob,'course':course,'email':email,'mobileno':mobileno};
$.post('http://localhost:3111/insert',data,function(result){
if(result=='success')
{
alert("insertion successful");
}
});
});
});
routes.js => 值在这里成功传递
var express = require('express');
var router = express.Router();
var db=require('./dbentry.js');
router.post('/insert',function(req,res)
{
var name=req.body.name;
var address=req.body.address;
var gender=req.body.gender;
var dob=req.body.dob;
var course=req.body.course;
var email=req.body.email;
var mobileno=req.body.mobileno;
var insertValues={'name':name,'address':address,'gender':gender,'dob':dob,'course':course,'email':email,'mobileno':mobileno};
db.insert(insertValues,function(result){
if(result=="success")
{
res.end("success");
}
else
res.end("fail");
});
});
module.exports = router;
dbentry.js => 插入值的函数
var client=require('./dbconnection.js');
function insert(insertValues,callback)
{
client.connection.query('insert into detail set ?',insertValues,function(err,rows)
{
if(!err)
callback("success");
else
callback("fail");
});
}
}
module.exports.insert=insert;
值已成功插入数据库,并且成功消息从dbentry.js 传递到route.js。
但问题是来自route.js 成功消息没有传递给input.js。我检查了很长时间的代码,但我无法找到错误。
【问题讨论】:
-
console.log(result)ininput.js? -
我已经尝试过了,但它没有进入函数内部。甚至我在函数内部打印了一个虚拟文本,也没有打印出来
-
使用
res.send()而不是res.end() -
我也试过了,
-
我试过你的代码,(模拟数据库部分)和它在这里工作。
标签: javascript jquery node.js express