我有一个HTML页面,它提供了电子邮件ID和密码的输入字段,我使用这些值通过节点js express应用程序与我的后端SQL服务器连接。
我有一个app.post()方法来连接SQL。
app.post('/user', function (req, res, body) {
uid = req.body.user1;
pwd = req.body.user2;
config = 'Server={ip of server};Database=Dbname;Uid=domain\\user' + uid + ';Pwd=' + pwd;
var dbConn = new sql.Connection(config);
dbConn.connect().then(function () { //using promises instead of callbacks(onceconnect() is done), then go to then()
var request = new sql.Request(dbConn);
console.log('DONE');
res.status(500).json({ status: 'done' })
}).catch(function (err) {
console.log("INVALID");
res.status(500).json({ status: 'invalid' })
});
我想要实现的是 -
目前,如果一切都有效,则/ user处有DONE。 如果ID和密码不匹配,则在/ user处存在INVALID。
我的客户端代码是
<!DOCTYPE html>
<html>
<body>
<form id ="target" action="/user" method="post">
UserID : <input id="uid" type="text" name="user1" /> <!text fields for date input>
Password : <input id="pwd" type="password" name="user2" />
<input id="Submit1" type="submit" value="LOGIN"/> <!--<!submit button>-->
<input id="Button" type="button" value="show graphs" onclick="btntest_onclick()" />
</form>
$.post("/user", function (data) {
$("#target").html(data)
alert( "Data Loaded: " + data );
});
<script type="text/javascript">
function btntest_onclick() {
setTimeout(function () {
window.location.href = "/../";
},500);
}
</script>
</body>
</html>
我无法在客户端上使用$ .post()从用户检索数据 - 给出500错误。 我该怎么办?请帮帮我。
答案 0 :(得分:0)
我可以通过使用jquery ajax回调来解决这个问题,该回调将数据返回给客户端。
$("#target").submit(function (event) {
var formData = {
'uid': $('input[name=uid]').val(),
'pwd': $('input[name=pwd]').val()
};
$.ajax({
type: 'POST', // define the type of HTTP verb we want to use (POST for our form)
url: '/user', // the url where we want to POST
data: formData, // our data object
dataType: 'json', // what type of data do we expect back from the server
encode: true
})
.error(function (data) {
// log data to the console so we can see
alert(data.responseText);
})
.done(function (data) {
// log data to the console so we can see
console.log(data);
// here we will handle errors and validation messages
});
event.preventDefault();
});