我正在尝试通过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保存文件
答案 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
元素。