将HTML DOM保存到服务器上的文件

问题描述:

我有一个html5 web page,它允许用户在div之间拖放对象。在用户移动对象后,我想将当前DOM保存到我的Web服务器上的文件中。将HTML DOM保存到服务器上的文件

我知道我可以使用JavaScript获取当前的HTML DOM,但当然,我无法将它保存到使用javascript的服务器上的文件中。所以我想过将html传递给PHP页面来执行“save”函数,但我无法弄清楚如何将html传递给PHP页面。我试着将它作为URI中的一个参数发送,但是PHP页面没有正确地从URL中获取整个字符串。

此方法是否可行?如果是这样,我错过了什么让HTML字符串正确传递给PHP页面?或者我应该使用其他方法?

+0

尝试通过网页内容通过AJAX到PHP,或试图通过一个POST请求的形式提交 – Bxx

ajax是去这里的路。如果您对ajax不熟悉,请通过Google进行学习。任何现代的Web应用程序都需要以某种方式进行Ajax集成。

这里是如何使用javascript与服务器通信。 请注意我使用jQuery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $(".draggableDivs").mouseup(function(event){ 
     var documentStructure = ''; // whatever js you use to get document structure 
     var d = {"document_structure": documentStructure}; 
     $.ajax({ 
      url: "test.php", //Your url both relative and fixed path will work 
      type: "POST", // you need post not get because you are sending a lot of data 
      data: d, 
      success: function(response) { 
       alert('saved'); 
      }, 
      error: function (XMLHttpRequest, textStatus, errorThrown) { 
       alert(errorThrown); 
      } 
     }); 
    }); 
}); 
</script> 

在服务器上,那么你会做你的PHP和保存数据。 你做,你可以只是一个JSON对象作出反应,如果需要,如果不只是退出

+0

谢谢,马克之后。你的示例代码非常棒,现在我已经有了这个工作。我绝对了解到jquery和ajax两者! –

您可以像使用

  1. 的方法拖拽后使用javascript下降,表明一键拯救了DOM。
  2. 单击按钮上的事件,将当前的dom放入一个变量中。
  3. 使用ajax将您当前的dom传输到一个php文件(ajax文件)。
  4. 在ajax文件中,将其保存到数据库中。