如何使用php使用jquery编辑后保存文件?

时间:2012-07-23 03:35:54

标签: php javascript jquery ajax json

在这里,我创建了一个获取css-color的jquery函数,并创建了具有css-color背景的元素: Edit my jsFiddle

的HTML

<div ID="wrapper">
    <div ID="addColor">
        <input type="text" ID="hex">
        <div ID="color">Your color</div>
        <button ID="add">Add color</button>
    <div CLASS="clear"></div> <!-- Clear float -->
    </div>

    <div ID="wrapGallery">
        <h1>My Color Gallery</h1>
        <ul ID="gallery"></ul>
    </div>
</div>

JS / jquery的

$(function() {
    //float left with some margin
    $('#addColor')
        .children().not('#add, .clear').css({
        'float':'left',
        'margin-right': '5px'
        });

    //Showing color on keyup
    $('#hex').keyup(function() {
       var hexCode = $(this).val();
       $('#color').css('background-color', hexCode);

        if ( hexCode !== '') {
            $('#color').text('');
        }else{
            $('#color').text('Your color');
        }

    });

    //Adding colors
    $gallery = $('#gallery');

    $('#add').click(function() {

        var storedHex = $('#hex').val();
        //check if empty
        if (storedHex == '') {
            alert('Enter something');        
        }
        else {
        //adding li
        $("<li>").css('background-color', storedHex)
                .hover(
                  function () {
                    $(this).text(storedHex);
                  }, 
                  function () {
                    $(this).text('');
                  })                    
                 .appendTo($gallery); 
        }
    });
});

我唯一需要做的就是将创建的元素永久保存在文件中,这样我就可以随时访问。我不知道该怎么做。

2 个答案:

答案 0 :(得分:3)

目前,Javascript(在浏览器中)无法编辑/保存您想要的文件。但是,您可以使用.ajax()将数据发送回PHP文件,以便PHP文件可以使用file_put_contents()保存它(尽管它通常会将其保存在数据库中)。

答案 1 :(得分:2)

阅读JQuery Ajax函数,并阅读有关JSON对象的内容。

使用AJAX和JQuery,您可以轻松地将JSON对象发送到您的服务器,如下所示:

function saveElements(myJsonObj) {
  $.ajax({
    method: "POST",
    dataType: "json",
    url: "path/to/savemyobject.php",
    data: {json:myJsonObj}
  });
}

JSON文件可能如下所示:

{ "myData":
  {
    "some_text":"this could be the CSS code",
    "name":"some name",
    "number":"some number"
  }
}

您可以生成表示JSON对象的JSON字符串,并使用Ajax函数将其发送到PHP文件(如上所述)。

在PHP中,您可以这样做以获取对象:

<?php
$json_string = $_POST["json"]; //the same variable key we sent it in
$json_obj = json_decode($json_string, true);
// get data
$myDataCode = $json_obj["myData"]["some_text"];
// do some processing
...
?>

您还可以使用PHP json_encode函数将PHP中的数组转换为JSON对象。

了解更多:
http://www.w3schools.com/json/default.asp
http://php.net/manual/en/function.json-decode.php
http://php.net/manual/en/function.json-encode.php
http://api.jquery.com/jQuery.ajax/