Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Codemirror.on(';change';)只保存使用PHP更改的内容?_Javascript_Php_Codemirror - Fatal编程技术网

Javascript 如何使用Codemirror.on(';change';)只保存使用PHP更改的内容?

Javascript 如何使用Codemirror.on(';change';)只保存使用PHP更改的内容?,javascript,php,codemirror,Javascript,Php,Codemirror,我只需要使用更改,而不是所有文本,以提供服务器资源和服务用户。 看 HTML: PHP: 要满足您的请求,只传输文本文档的更改,而不传输全文本身,需要做大量的工作。您必须检查文本是否已添加、删除或修改。此外,如果用户正在进行大量更改,则每个“onchange”事件(即每次击键)都会有网络流量。如果文件本身不是很大,那么只需敲击几下键盘,就不会保存任何内容。重新考虑一下你的建议。在这个问题中,实时通信“RTC”没有问题。我仅以ajax为例。事实上,我使用nodejs和socket.io发送任何更

我只需要使用更改,而不是所有文本,以提供服务器资源和服务用户。 看

HTML:

PHP:


要满足您的请求,只传输文本文档的更改,而不传输全文本身,需要做大量的工作。您必须检查文本是否已添加、删除或修改。此外,如果用户正在进行大量更改,则每个“onchange”事件(即每次击键)都会有网络流量。如果文件本身不是很大,那么只需敲击几下键盘,就不会保存任何内容。重新考虑一下你的建议。在这个问题中,实时通信“RTC”没有问题。我仅以ajax为例。事实上,我使用nodejs和socket.io发送任何更改。
<textarea id="code">script.js</textarea>
var id = document.getElementById("code");
var options = {mode:'javascript'};
var editor = CodeMirror.fromTextArea(id, options);
editor.on("change",function(cm,change){
    $.ajax({
        url:'update.php',
        method:'POST',
        data:{
            save:true,
            file:'script.js',
            update:change
        },
        success:function(data){
            console.log(data);
        }
    });
});
if(isset($_POST['save']) && $_POST['save'] === true){
    if(isset($POST['file']) && file_exists($POST['file'])){
        $file = file_get_contents($POST['file']);
        if(isset($POST['update']) && !empty($POST['update'])){
            $change = @json_decode(@json_encode($_POST['update']));
            //here how to use data from $change to update file script.js?
        }
    }
}