gpt4 book ai didi

javascript - js obj -> json 文件(ajax、php)

转载 作者:行者123 更新时间:2023-12-02 21:25:38 26 4
gpt4 key购买 nike

我目前收到 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);
}

最佳答案

您的 POST 变量是 template,只有在未设置且不为空时才执行,这不是您想要的,并且无论如何都不会计算为 true:

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

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

//This is already JSON
//$jsonObject = json_encode($savdAta);
file_put_contents('./data.json', $savdAta);
}

关于javascript - js obj -> json 文件(ajax、php),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60747666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com