Передача POST-ответа в текстовую область через codemirror - PullRequest
0 голосов
/ 24 июня 2019

Я хочу красиво отобразить содержимое исходного кода Java -> выделите ключевые слова и убедитесь, что номера строк в текстовой области используют codemirror.

У меня есть файл кода Java.При нажатии кнопки в браузере мой почтовый запрос отправляет данные на сервер и в качестве успешного ответа я получаю объект JSON из файла исходного кода Java.Это каждая строка исходного кода как отдельный элемент массива в качестве ответа.Затем я работаю с этим массивом, чтобы получить длинную строку исходного кода.На консоли я вижу, что эта переменная имеет весь исходный код.Хотя иногда, когда это передается текстовой области только для чтения, отображается только частичный код.Это случается только иногда.

Что я хочу сделать, это красиво отобразить этот исходный код -> выделить ключевые слова и убедиться, что номера строк текстовой области.

Следовательно, я хочу использоватьCodeMirror.Однако я не понимаю, как передать ответ в кодовое зеркало, чтобы он отобразился в текстовой области.

HTML textarea:

<textarea readonly id="result" name="result" style="width: 90%; height: 10000px;"></textarea>

Запрос и ответ AJAX POST:


.on("click", function(d){$.ajax({
url:"/source_code",
type: 'POST',
data: JSON.stringify(d.Method),
contentType: 'application/json;charset=UTF-8',
success: function(data_structure) {
var result = data_structure;
var final_code = "";
for(var i = 0; i<data_structure.length; i++)
{
     final_code += data_structure[i] + "\n";
}
$("#result").append(
document.getElementById("#result").value = final_code;
var readOnlyCodeMirror = CodeMirror.fromTextArea(document.getElementById('result'), {
mode: "javascript",
theme: "default",
lineNumbers: true,
readOnly: true
});  
}
})});

Этот код просто добавляет весь исходный код, хотя иногда не появляется в текстовой области.

$("#result")
.empty()
.setNumber()
.append(final_code);
}
})});
...