Javascript - 为每个用户创建唯一文件

时间:2017-10-03 00:57:40

标签: javascript mysql node.js

我正在开发一个应用程序,允许用户在他们的网站上嵌入一个简短的代码,我的软件将捕获所有表单数据并将其放在我们的数据库中。

我需要为每个用户生成一个唯一的JS文件,并使用存储在mysql数据库中的动态变量为每个文件添加一些通用代码。

例如:

  • main.js - 此文件包含通用代码
  • userid.js - 当用户创建帐户时生成此文件,此文件从main.js获取所有内容,用数据库中的数据替换动态变量并显示通用的javascript代码。

我一直在玩node.js文件系统,看起来就是这样。任何人都可以帮我理解如何实现上述目标吗?我很困惑,每当我更新main.js时,我将如何更新userid.js中的代码?

由于

2 个答案:

答案 0 :(得分:0)

让客户的html网络表单调用您的javascript文件(函数),以便向服务器发出服务器调用(即ajax调用):

<form name="myForm">
<input name="userName">
<button onclick="createFileName_SendToServer()" type="submit" value="submit">Submit</button>
</form>

<!-- language: lang-js -->
<script>
function createFileName_SendToServer(){
  // 1: Get user name from the web form
    var userName = document.myForm.userName.value;
    // clearly this can be used for all form fields
  // 2: Use the userName as the name of the new file
    var userIdFileName = userName + ".js";
  // 3: send this info to your server script 
    // make an AJAX call, add additional args for other form data
    var trueOrFalse = ajaxToYourServer(userIdFileName);
}
</script>

JS函数(通过AJAX)向您的服务器脚本发送userIDFileName的名称(以及任何其他表单数据)。然后,您的服务器脚本可以查询数据库,创建文件(从提供的文件句柄中),导航文件系统并保存文件。

答案 1 :(得分:0)

我通过使用Node.js和Express.js解决了这个问题。基本上,我构建了一个可以包含用户ID的路​​由。然后,我用pug在这个动态网址中显示javascript数据。