Jquery AJAX保存到文件

时间:2013-04-28 01:51:40

标签: php jquery ajax

这里的Everthing工作正常,除了在保存的文件中它没有给我整个字符串。只有一个ID(页面上有多个)。

不确定如何获取$ .ajax()

中的“所有ID和内容”

我做错了什么?

有这个jquery:

$('a#exportPage').on('click',function(){
var contentMap = {};
$('[id^="appendHeading"]').each(function(){
    contentMap[this.id] = $(this).text();
});
for(id in contentMap)
    $("#PrintIds").append("ObjectID:" + id + "Content:" + contentMap[id]);

$.ajax({
  url: "post.php",
  type: "post",
  data: { 
      objectID: id,
      content: contentMap[id]
      },
      success: function(){
      alert("success");
  },
  error:function(){
      alert("failure");
  }   
 }); 
});

这个PHP:

<?php
if ($_POST['objectID'] || $_POST['content']) {
$myFile = "test.css";
$stringData = $_POST['objectID'] || $_POST['content'];
file_put_contents($myFile,$stringData);
}
?>

1 个答案:

答案 0 :(得分:1)

您忘记将for循环括在{}中。

$('a#exportPage').on('click',function(){
var contentMap = {};
$('[id^="appendHeading"]').each(function(){
    contentMap[this.id] = $(this).text();
});
for(id in contentMap) {
    $("#PrintIds").append("ObjectID:" + id + "Content:" + contentMap[id]);

    $.ajax({
        url: "post.php",
        type: "post",
        data: { 
            objectID: id,
            content: contentMap[id]
        },
        success: function(){
            alert("success");
        },
        error:function(){
            alert("failure");
        }   
    }); 
}
});

内容应附加到文件的末尾:

<?php
if ($_POST['objectID'] || $_POST['content']) {
    $myFile = "test.css";
    $stringData = $_POST['objectID'] . ':' . $_POST['content'] . "\n";
    file_put_contents($myFile,$stringData,FILE_APPEND | LOCK_EX);
}
?>