AJAX Струны Javascript и Памида
Я создаю веб-приложение на основе пирамиды и пытаюсь реализовать редактор уценки JavaScript EpicEditor для редактирования файлов уценки.
$.ajax({
url: "{{ request.resource_url(context) }}raw_markdown",
context: document.body,
success: function(md){
markdown = md;
}
})
var opts = {
basePath: '{{ request.static_url('plcars:static/') }}',
focusOnLoad: true,
clientSideStorage: false,
autogrow: true,
file: { defaultContent: markdown }
};
var editor = new EpicEditor(opts);
editor.load();
Но EpicEditor тогда действует как markdown
пустой. Если я позвоню alert(markdown)
тоже пусто, и если я попробую document.write(markdown);
тоже ничего не происходит.
Я знаю, что URL-адрес вызова ajax работает, как я вижу в своей веб-консоли Firefox, что запрос выполняется успешно. Кроме того, если я наберу в консоли, чтобы увидеть значение переменной уценки, это так же, как и должно быть (например, "This is my text"
).
До этого я пытался пропустить уценку через контейнер JSON, и это, казалось, шло хорошо, за исключением того, что строка никогда не отображалась на странице.
1 ответ
Вы должны поместить свой код внутри success
обратный звонок, так как ваш $.ajax
вызов асинхронный:
$.ajax({
url: "{{ request.resource_url(context) }}raw_markdown",
context: document.body,
success: function (md) {
markdown = md;
var opts = {
basePath: '{{ request.static_url('plcars:static/') }}',
focusOnLoad: true,
clientSideStorage: false,
autogrow: true,
file: {
defaultContent: markdown
}
};
var editor = new EpicEditor(opts);
editor.load();
}
})