Ace Editor в PHP Web App - PullRequest
       15

Ace Editor в PHP Web App

6 голосов
/ 12 июля 2011

Я создаю небольшое веб-приложение, которое позволяет пользователям отправлять html, css и javascript контент через Ace Editor .В этом редакторе достаточно просто сохранить сохраненный контент в редакторе, однако я не могу найти способ отправить данные пользователей в базу данных.Я вижу, что есть текстовая область, сгенерированная JavaScript, однако я не совсем уверен, что он делает, как к нему добраться или мне нужно искать что-то еще целиком.

Я в основном ищудля поля или что-то, что я могу использовать, чтобы php представить в БД.

1 Ответ

15 голосов
/ 12 июля 2011

Содержимое окна редактирования доступно с помощью метода getValue сессии.Например, вот расширение стандартной демонстрации ACE для файла сохранения:

saveFile = function() {
    var contents = env.editor.getSession().getValue();

    $.post("write.php", 
            {contents: contents },
            function() {
                    // add error checking
                    alert('successful save');
            }
    );
};

Я добавил вызов saveFile к уже существующему «Fake Save», которое находится в demo.js.Я заменяю предупреждение следующим кодом:

// Fake-Save, works from the editor and the command line.
canon.addCommand({
    name: "save",
    bindKey: {
        win: "Ctrl-S",
        mac: "Command-S",
        sender: "editor|cli"
    },
    exec: function() {
        saveFile();
    }
});

Файл php состоит из одной строки:

$r = file_put_contents("foo.txt", $_POST["contents"]) or die("can't open file");

...