我正在使用nodejs,html,express,node-nosql和JavaScript。我有一个问题wherin html页面在下面给出:
<body>
<form name="form1" method="post" onSubmit="createTable();return myFunction();">
<input type ="text" name="DomainName" id="Domain_name" required="" />
<input type="submit" value="Submit" />
</form>
<form name="form2" action="http://www.cs.tut.fi/cgi-bin/run/~jkorpela/echo.cgi" method="post">
<div id="table_container"></div>
<input type="submit" value="submit" />
</form>
</body>
javascriptFunction如下:
function myFunction() {
var input_domain = document.forms["form1"]["DomainName"].value;
if (input_domain == null || input_domain == "") {
alert("Please enter a valid domain");
return;
}
return false;
}
function createTable() {
document.getElementById("table_container").innerHTML = "";
var input_domain = document.forms["form1"]["DomainName"].value;
if (input_domain == null || input_domain == "") return;
var names = ["website1", "website2"];
var table = document.createElement("table"),
...using javascript dynamically create a table with certain columns for each of the websites listed in the var names list ...
document.getElementById("table_container").appendChild(table);
</script>
我现在面临的问题是,当我点击form1的提交按钮时, var names = [“website1”,“website2”]; 必须从数据库中检索。我知道我必须使用带有nodejs的ajaxrequest。但我不知道如何退回和处理它!请帮忙。
答案 0 :(得分:0)
我想弄清楚你的意思:
names
的值是字符串数组names
中,然后按下。我做对了吗?
如果是这样,你已经找到了几个单独的部分:
这些任务中的每一项都相当容易,但显然超出了单个StackOverflow答案的范围。
答案 1 :(得分:0)
评论您作为评论放置的nodejs代码
ajax请求的快速路由可以像
那样/** include these require and connect lines if you already dont have it in the code **/
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
});
connection.connect();
/** express route for ajax request starts **/
$.post("/ajaxTarget",function(data){
connection.query('SELECT DBName FROM CrawlerDBInfo where Domain =' + "' " + input_domain + " '" + ';', function (error, rows, fields) {
if (rows.length == 0) {
res.json({error:"no record!!"});
} else {
res.json({data:rows});
}
}
});
res.json
发送json响应。error
对象。