Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.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 在节点js中使用res.render()而不是res.send()_Javascript_Node.js_Express_Ckeditor - Fatal编程技术网

Javascript 在节点js中使用res.render()而不是res.send()

Javascript 在节点js中使用res.render()而不是res.send(),javascript,node.js,express,ckeditor,Javascript,Node.js,Express,Ckeditor,我已经为ckeditor编写了图像上传程序。每次上传文件时,必须将包含图像名称的html文件发送回客户端 这是我的密码: router.post('/upload', function (req, res, next) { var imageName = req.files.upload.name; var html = "<script type='text/javascript'>" + "var funcNum = " + req.query.CKEd

我已经为ckeditor编写了图像上传程序。每次上传文件时,必须将包含图像名称的html文件发送回客户端

这是我的密码:

router.post('/upload', function (req, res, next) {
var imageName = req.files.upload.name;

var html = "<script type='text/javascript'>" +
            "var funcNum = " + req.query.CKEditorFuncNum + "; " +
            "var url = \"/images/" + imageName + "\";" +
            "window.parent.CKEDITOR.tools.callFunction(funcNum, url);" +
            "</script>";

res.send(html);
});

这将生成与上述硬编码解决方案完全相同的html文件,但是它不适用于ckeditor。这两种解决方案之间有什么显著的区别吗?

您确定
[…]这会生成完全相同的html文件[…]
?您应该始终检查最终结果,例如在浏览器开发人员工具的“网络”选项卡中

如果
imageName
test.jpg
您的第一个代码创建

var url = "/images/test.jpg";
但是您的
hjs
将创建:

 var url = "/images/" + test.jpg;
这是一个语法错误。您正在查找
“/images/{{imageName}”

除此之外,您还应该这样写回复:

<script type='text/javascript'>
(function() {
   var funcNum = {{funcNum}};
   var url = "/images/{{imageName}}";
   window.parent.CKEDITOR.tools.callFunction(funcNum, url);
}());
</script>

(功能(){
var funcNum={{funcNum}};
var url=“/images/{{imageName}}”;
window.parent.CKEDITOR.tools.callFunction(funcNum,url);
}());

<script type='text/javascript'>
window.parent.CKEDITOR.tools.callFunction({{funcNum}}, "/images/{{imageName}}");
</script>

window.parent.CKEDITOR.tools.callFunction({funcNum},“/images/{{imageName}”);

否则,您将使用
funcNum
url

污染编辑器窗口的全局命名空间,谢谢!我愚蠢的错误是在
var url=“/images/”+{{imageName}
<script type='text/javascript'>
(function() {
   var funcNum = {{funcNum}};
   var url = "/images/{{imageName}}";
   window.parent.CKEDITOR.tools.callFunction(funcNum, url);
}());
</script>
<script type='text/javascript'>
window.parent.CKEDITOR.tools.callFunction({{funcNum}}, "/images/{{imageName}}");
</script>