js obj -> json 文件 (ajax, php)

我目前收到 200 个绿色响应,但是我的数据仍然没有写入我的 json 文件(即它仍然是空白的)


JavaScript:


$(function() {

    $('form#saveTemp').submit(function() {

        let savdAta = JSON.stringify($('form#saveTemp').serializeObject());

        //let tempName = savdAta.styleName;

        console.log(savdAta);

        //console.log(JSON.stringify($('form#saveTemp').serializeObject()));


        $.ajax({

          url: './php/data.php',

          type: 'POST',

          contentType: "application/json",  

          data: {

              template: savdAta

          },

          success: function(msg) {

              console.log('data sent to php file, but..');

          }               

        });


        return false;

    });

});

控制台中的数据savdAta格式如下:即


{"styleName":"","fillType":"none","fillTrans":"0"}

PHP:


<?php


header('Content-Type: application/json');


if (!isset($_POST['savdAta']) && !empty($_POST['savdAta'])) {

    $savdAta = $_POST['savdAta'];


    $jsonObject = json_encode($savdAta);

    file_put_contents('./data.json', $jsonObject);

}

更新:现在我有以下内容,没有错误,但我的 .json 文件仍然是空白的:


<?php


if (!empty($_POST['template'])) {

    $savdAta = $_POST['template'];


    file_put_contents('./data.json', $savdAta);

}


烙印99
浏览 101回答 1
1回答

繁华开满天机

您的 POST 变量是template并且您仅在未设置且未为空时才执行,这不是您想要的并且永远不会评估为true://Not needed//header('Content-Type: application/json');if (!empty($_POST['template'])) {&nbsp; &nbsp; $savdAta = $_POST['template'];&nbsp; &nbsp; //This is already JSON&nbsp; &nbsp; //$jsonObject = json_encode($savdAta);&nbsp; &nbsp; file_put_contents('./data.json', $savdAta);}
打开App,查看更多内容
随时随地看视频慕课网APP