JQuery将发布数据发送到文件

时间:2013-06-10 18:56:06

标签: javascript php jquery ajax http-post

我一直在寻找关于如何做到这一点的堆栈,但对我来说它只是不想工作而且我开始变得无能为力。

我想要实现的是将textfield(ckeditor)中的数据保存在html文件中。我试图通过处理在edit_docInc.php中保存文件来实现这一点。

我的工作是尝试运行JQuery将edit_doc.php中的数据导入edit_docInc.php,完成后我想在edit_doc.php中使用名为show_doc.php的文件刷新DIV并滑入其中一个滑块。

这是我到目前为止所得到的: edit_doc.php

$docfile = "./documents/" . $cursus['name'] . "/" . $docfilename . ".html";
echo("<h1>Editing Document: " . $rows['name'] . "</h1>
<a id='slider-editbtn'>Edit</a> | <a id='slider-viewbtn'>Preview</a>");
echo("<div id='slider'>
    <div id='slider-content'>
        <div id='left'>
            <form name='editdoc' id='editdoc' action='" . $_SERVER['REQUEST_URI'] . "' method='post'>
            <input type='hidden' name='docid' value='" . $docfile . "' />
            <textarea name='mainEditor' id='mainEditor'>");
                include($docfile);
            echo("</textarea>
            <a class='button save' id='save'>SAVE DOCUMENT</a>
            <script>
                CKEDITOR.replace('mainEditor');

                $('#save').click(function (e) {
                    $.ajax ({
                        type: 'POST',
                        url: 'edit_docInc.php',
                        data: { 'form' : $('#editdoc').serialize()},
                        success: function(ex) {
                            $('right').load('show_doc.php');
                            $('#slider-viewbtn').addClass('active');
                            $('#slider-editbtn').removeClass('active');
                            $('#slider-content').animate({left:'-=940px'}, 400);
                            sliderPos = 2;
                            alert('loaded!');
                        }
                    })
                });
            </script>

        </div>
        <div id='right'>");
            include('show_doc.php');
        echo("</div>
    </div>
</div>");

edit_docInc.php

echo("<script>alert('got into script!');</script>");
$docfile = mysqli_real_escape_string($con, $_POST['docfile']);
$data = $_POST['mainEditor'];
$handle = fopen($docfile, 'w') or die("Can't open the file, please contact an administrator.");
fwrite($handle, $data);
fclose($handle);
echo("<div id='alert success'><span>Success:</span> File has been successfully saved!</div>");

show_doc实在太简单了。 顺便说一句edit_docInc.php没有提醒我,所以它甚至没有进入edit_docInc.php

如果有人知道答案,我们非常感谢。

1 个答案:

答案 0 :(得分:0)

我是一个白痴,似乎我试图进入的页面是在edit_doc.php(inc)的同一个地图中,但是edit_doc.php是在inc.pp之外的一个包含在inc。因此我需要使用的URL是inc / edit_docInc.php而不仅仅是edit_docInc.php。