发送当前HTML Dom,通过jquery ajax发送并通过php保存

时间:2014-08-06 13:49:44

标签: php jquery ajax

我正在尝试通过jquery将正在处理的文档的当前dom保存到服务器。但是遇到了一个问题,试图将dom值发送到处理保存的php文件。这是代码:

Jquery的

$('SaveQuote').click(function() {
var customername =  $('#customername').val();
var customernameedit = $.trim(customername);
var customerphone = $('#customerphone').val();
var quotedata = encodeURIComponent($(document).html());


$( "#Message" ).load("/include/SaveQuote.php? 
customername="+customernameedit+"&customerphone="
+customerphone+"&data="+quotedata);

}); 

PHP代码

$customername = $_GET['customername'];
$thedata = $_GET['data'];
$thephone = $_GET['customerphone'];


$file = $_SERVER['DOCUMENT_ROOT'].'/Quotes/'.$customername.$thephone.'.html';
// Open the file to get existing content
$current = $thedata;
// Append a new person to the file
file_put_contents($file, $current);

echo'Record Was Saved! View It Here <a href="/Quotes/"'.$customername.$thephone.'>
View Quote</a>';



?>

加载请求正在运行,所有值都是&#34;发布&#34;但是加载请求不允许通过jquery代码中的quotedata var发送dom,可能是字符串中有太多数据吗?

我相信我可能不得不使用Jquery发布,但不是100%肯定。

这段代码的重点是允许在操作期间保存dom并在以后查看或更改/编辑,因此我需要按原样保存整个dom。最终也会实现自动保存但不是这个问题的一部分。

那么简单,如何通过jquerys ajax控件将当前dom发送到我的php保存文件

1 个答案:

答案 0 :(得分:1)

您的javascript可能如下所示:

$('SaveQuote').click(function() {
    var customername =  $('#customername').val();
    var customernameedit = $.trim(customername);
    var customerphone = $('#customerphone').val();
    var quotedata = $('html').html();

    $.ajax({
        url: "/include/SaveQuote.php",
        type: "POST",
        data: {
            customername: customernameedit,
            customerphone: customerphone,
            data: quotedata
        }, success: function(response) {
            $("#Message").html(response);
        }
    });
}); 

这将向服务器发出一个POST请求,其中包含您想要的数据,服务器响应将作为innerHTML注入#Message元素。