Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要解析nodejs中的多个url_Javascript_Mysql_Node.js_Express - Fatal编程技术网

Javascript 需要解析nodejs中的多个url

Javascript 需要解析nodejs中的多个url,javascript,mysql,node.js,express,Javascript,Mysql,Node.js,Express,我需要构建一个有多个URL的应用程序,例如,我有大约10000个表单,我需要为每个表单分配不同的URL。我该怎么做?我最近开始学习nodejs。所以请详细说明我应该做的事情是什么? 事实上,我需要创建多个表单,每个表单中都包含名称和地址等参数。我需要它们显示在一个页面上。我正在使用expressjs和mysql数据库 总的来说,我有一个index.js页面,提示用户输入他的姓名和地址。我需要为每个用户提供不同的URL。在另一个页面中,我需要在单个页面上显示所有用户及其各自的URL 有许多不同的

我需要构建一个有多个URL的应用程序,例如,我有大约10000个表单,我需要为每个表单分配不同的URL。我该怎么做?我最近开始学习nodejs。所以请详细说明我应该做的事情是什么?

事实上,我需要创建多个表单,每个表单中都包含名称和地址等参数。我需要它们显示在一个页面上。我正在使用expressjs和mysql数据库


总的来说,我有一个index.js页面,提示用户输入他的姓名和地址。我需要为每个用户提供不同的URL。在另一个页面中,我需要在单个页面上显示所有用户及其各自的URL

有许多不同的方法来完成你所追求的,在你尝试做的事情中有三个真正的困难,第一个是制定路由,第二个是解析表单,第三个是存储数据

路由 首先,您需要正确路由所有请求。有许多不同的方法来实现这一点。 您可以研究的第一种方法是自己完成所有路由(我真的不建议这样做,但是,值得知道):

//首先我们要做一个服务器。
const server=http.createServer();
//然后我们会倾听每一个请求。
server.on('request',(request,response)=>{
//您可以在此处自行处理“request.url”
//例如:
if(request.url.startsWith('/route1')){
doRoute1(请求、响应);
}else if(request.url.startsWith('/route2')){
doRoute2(请求、响应);
}否则{
throw404();
}
//或者您可以执行开关/机箱操作,例如:
//'request.url.split('/')[1]'表示查找第一个目录/文件
//“/path/file.js”->“path”
//“/file.js”->“file.js”
开关(request.url.split('/')[1]){
案例“路线1”:
doRoute2(请求、响应);
打破
案例“路由2”:
doRoute2(请求、响应);
打破
违约:
throw404();
打破
}
});
//“侦听”端口80上的服务器连接。
听(80);
现在,该方法将只适用于最简单的应用程序,否则应该避免,因为它将成为维护的噩梦

第二种选择是使用http esq路由框架,示例包括和

这是前面使用“”的示例:

//导入express模块
const-app=require('express')();
//这是路由部分。
app.get('/route1',doRoute1);
app.get('/route2',doRoute2);
//如果没有匹配的路由,这是一个包罗万象
应用程序使用(通过404);
//监听端口80
app.listen(80);
Express对于更复杂的任务非常有用,因为它使用中间件esq流/结构的方式

形式
有许多不同的方法可以将数据发布到web服务器,包括(但不限于);JSON、XML、URL编码和多部分/表单数据。 我建议在您开始尝试使用这些用例之前,找出最适合您当前用例的

您提到了表单,所以我假设您指的是“多部分/表单数据”(由html表单生成)。为此,您可以使用名为“”的模块。请注意,该模块还可以处理文件上载

下面是一个使用multer的示例:

//导入express模块
const-app=require('express')();
功能展示表(请求、响应){
//您可以在这里生成html表单。
}
函数processForm(请求、响应){
//表单的文本字段将在“request.body”中找到
}
app.get('/form',showForm);
// https://github.com/expressjs/multer
app.post('/form',upload.fields([]),processForm)
app.listen(80);
其他车身处理方法可在此处找到:

数据库 我对数据库不是很精通,但是,这里有一个关于如何使用NodeJS连接到MySQL数据库的快速示例,它使用“”:

//导入mysql模块
var mysql=require('mysql');
//连接到您的数据库
var connection=mysql.createConnection({
主机:“localhost”,
用户:“用户名”,
密码:“sssshhh”,
数据库:“myDatabase”
});
//连接到数据库
connection.connect();
//查询示例
connection.query('SELECT*FROM users,其中user_id=1',
函数(错误、结果、字段){
如果(错误)抛出错误;
console.log('解决方案为:',结果为[0]。解决方案);
}
);
//关闭连接
连接。结束();

使用这三个拼图,我相信您可以找到解决问题的方法。

您应该了解
。htaccess
,这意味着您使用的基本上只有一个页面,但每个用户的url可能不同,并重定向到单个页面。在这个基于单个页面的查询字符串上,您可以显示各自的用户配置文件。@BeingExpert感谢您的快速回复,您能否提供一些网站地址或擅长此功能的博主。请查看此链接,您确实是一位具有出色解释技能的天使,我发布的数据是JSON格式的。我应该在哪里创建DB.js文件?在./public/javascript目录或/routes/下?