gpt4 book ai didi

javascript - 无法从express.js中的ace.js-div获取文本

转载 作者:行者123 更新时间:2023-12-01 03:57:49 25 4
gpt4 key购买 nike

我正在使用 ace.js( https://github.com/ajaxorg/ace ) 创建一个代码片段编辑器。 html 看起来像这样:

<div id="editor" name="editor">{{ text }}</div>
<script src="http://cdnjs.cloudflare.com/ajax/libs/ace/1.1.3/ace.js"></script>
<script>
var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.getSession().setMode("ace/mode/javascript");
</script>

当我更改文本时,我想保存到 Mongoose 数据库。但我无法在发布请求中从编辑器获取文本。当我调用保存请求时,如何从 div 获取文本?

router.route("/home/save/:id")
.post(function(request, response) {
console.log(request.body.editor) // -> undefined
console.log(request.body) // -> {}

});

最佳答案

很抱歉这个问题可能有些挑剔。很难解释这个问题。但如果有人由于某种原因遇到同样的情况,我会通过一种懒惰的解决方案来解决它。

我的灵感来自 https://jsfiddle.net/deepumohanp/tGF6y/并从 ace-div 获取文本并将其放入输入中。然后我刚刚收到下一个请求的输入:

{{> nav }}

<div id="editor">{{ text }}</div>

<form action="/home/save/{{ this.sessionId }}" method="post">
<input type="text" value="" name="content" id="content">
<button>Save</button>
</form>

<script src="http://cdnjs.cloudflare.com/ajax/libs/ace/1.1.3/ace.js"></script>
<script>
var textarea = document.querySelector("#content");

var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.getSession().setMode("ace/mode/javascript");

console.log(textarea.value);
console.log(editor.getSession().getValue());

editor.getSession().on("change", function () {
textarea.value = editor.getSession().getValue();
});

textarea.value = editor.getSession().getValue();
</script>

这样,request.body.content就会返回文本:

router.route("/home/save/:id")
.post(function(request, response) {
console.log(request.body.content) // -> text

});

关于javascript - 无法从express.js中的ace.js-div获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42489789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com