【问题标题】:How to send additional javascript code to client from nodejs server after page load页面加载后如何从nodejs服务器向客户端发送额外的javascript代码
【发布时间】:2019-01-21 20:10:33
【问题描述】:
当一个弹出窗口出现在我的网站上时,我希望该弹出窗口中的 div 呈现多种不同的方式之一,具体取决于某个选择的设置是什么。
理想情况下,我希望按下一个按钮来打开弹出窗口,让客户端根据当前设置向服务器询问它需要的代码,然后一旦它从服务器获取代码就执行它并呈现内容弹出窗口。
我是否需要服务器上的代码,将函数保存为对象的属性,然后将对象发送到客户端?不确定某些函数是否会因为与 DOM 相关的函数无法在服务器上编译而引发错误?
我是否将函数作为文件发送并让客户端使用 require.js 或 browserify 之类的库在客户端需要它?
【问题讨论】:
标签:
javascript
node.js
requirejs
require
【解决方案1】:
我会使用eval() 来解决您的问题。
在客户端使用 Ajax:
$.ajax({
url:'MyServer/code.json',
success : function(data, code) {
eval(data.code);
}
});
MyServer/code.json
{
"code":"alert('Code from server executed.'); $('body').css({ 'background-color': '#000'});"
}
这是一个简单的 JSON 示例,这根本不安全。小心使用eval()。