Предположим, что ваш экземпляр thinyMCE инициализирован с кодом ниже
// initialize tinyMCE in page
tinyMCE.init({
mode: "textareas",
theme: "advanced"
});
и у вас есть какая-то кнопка где-то на странице.В целях этого совета я не буду давать ему никакого удостоверения личности, но вы можете.Теперь, используя jQuery, вы можете легко прикрепить обработчик событий к той кнопке, которая будет вызывать через AJAX ваш сервер и извлекать контент, который вы хотите поместить в tinyMCE редактор.Код, который будет выполнять такую работу, будет выглядеть примерно так:
$(function() {
$("button").bind("click", function() {
var ed = tinyMCE.get('content');
ed.setProgressState(1); // Show progress
$.getJSON('/page/12.json', { /* your data */
}, function(data) {
ed.setProgressState(0); // Hide progress
ed.setContent(data["body"]);
}
});
});
});
Вы можете видеть, что на button.click ajax будет вызывать url /page/12.json
, который будет возвращать JSON в качестве ответа.Минимальный минимум этого ответа может быть:
{
title: "Page title",
body: "<html><head><title>Page title</title>......</html>"
}
Я прикрепил анонимную функцию в качестве обратного вызова, которая будет обрабатывать ответ от сервера.и скрыть индикатор прогресса, который отображается перед вызовом ajax.
О JSON
JSON сокращает нотацию объектов JavaScript.Это код JavaScript !!!Так что не смущайтесь.Используя JSON, вы можете создать объект javascript, который может иметь атрибуты, которые вы можете использовать позже в своем коде для доступа к определенному миру данных, которые этот объект «держит».Вы можете рассматривать это как некую структуру данных, если вам это легче.
В любом случае, чтобы показать вам, как этот JSON может быть создан вручную, посмотрите на примеры ниже
var data = new Object();
data.title = "Page title";
data.body = "<html....";
или
var data = {
title: "page title",
body: "<html...."
};
это очень одно и то же.
Если вы хотите узнать больше о JSON, укажите ваш браузер на http://json.org.
===== alternative =====
АльтернативаРешение json может быть простым плоским вызовом ajax на сервер, а ответ может быть простым HTML (из вашего вопроса я могу предположить, что у вас уже есть что-то подобное).Поэтому вместо вызова $.getJSON
вы можете использовать $.get(url, callback);
, чтобы сделать то же самое.Код в верхней части моего ответа кардинально не изменится.Вместо получения JSON в ответ вы получите строку HTML.
----------- НИЖНЯЯ ЛИНИЯ -------
Я предпочитаю JSON, так какпозже его можно легко расширить с помощью других атрибутов, так что в дальнейшем нет болезненных изменений кода;)