使用 jQuery AJAX 和 PHP 将 div 的内容保存到新文件

Posted

技术标签:

【中文标题】使用 jQuery AJAX 和 PHP 将 div 的内容保存到新文件【英文标题】:Save content of a div to new file with jQuery AJAX and PHP 【发布时间】:2012-03-18 13:33:31 【问题描述】:

我正在尝试将 div 的内容保存到新的 html 文件中。 我正在使用 jQuery AJAX 将数据发送到 php。 但是,当前形式的 php 会写入一个空文件。

HTML:

<div id="data2save">
     <span>data1</span>
     <span>data2</span>
     <span>data3</span>
     <span>data4</span>
</div>

<input type="button" value="save" id="save">

JQuery:

 $("#save").live("click",function() 

    var bufferId =$("#data2save").html();

            $.ajax(
                 method : "POST",
                 url : "saver.php",
                 data: id : bufferId,
                 dataType: "html",
                 success: function(data) 
                 alert("ok");  
                 
                 );
 );

PHP:

 <?php
$handle = fopen("test.html", 'w+');
$data = $_POST['data'];
if($handle)


if(!fwrite($handle, $data ))
echo "ok";


?>

【问题讨论】:

只是一些问题来帮助您调试这个问题:数据是否到达服务器? $_POST['data'] 有没有获得价值? bufferId 是否得到正确的值? alert('ok'); 曾经运行过吗?通过这样分析问题,您可以更准确地确定问题出在哪里。 【参考方案1】:

请求方法属性是type而不是method$.ajax( method : "POST"实际上是$.ajax( type : "POST")并且$_POST['data']应该是$_POST['id']

【讨论】:

我发现使用简写 $.post(url, data_obj) 方法更容易。避免这些错误。也不需要 dataType: "html"。【参考方案2】:

没有 $_POST['data'] 被发布,只有 $_POST['id']。看这部分:

data: id : bufferId,

【讨论】:

以上是关于使用 jQuery AJAX 和 PHP 将 div 的内容保存到新文件的主要内容,如果未能解决你的问题,请参考以下文章

将 AJAX/jQuery 添加到简单的 PHP 表单

jquery - 如何使用通过 AJAX 从 MySQL 和 PHP 检索的数据将图像添加到 Select2 下拉列表?

使用 jQuery AJAX 和 PHP 将 div 的内容保存到新文件

在ajax函数中隐藏jquery元素

无法使用 PHP 和 JQuery Ajax 将新记录插入 mysql db

使用 AJAX + jQuery + PHP 将数据发送到 MySQL