gpt4 book ai didi

javascript - Ajax POST 使用 PHP 保存 JSON 本地文件

转载 作者:可可西里 更新时间:2023-11-01 00:41:00 24 4
gpt4 key购买 nike

我正在尝试将输入数据添加到 Actors.json 本地文件。这是文件结构:

[
{
"FirstName": "Ricardo",
"Id": 1,
"LastName": "Darin"
},
{
"FirstName": "Bruce",
"Id": 2,
"LastName": "Willis"
}
]

这是输入:

<table>
<tr>
<td>Id:</td>
<td><input type="text" id="ID" /></td>
</tr>
<tr>
<td>First name:</td>
<td><input type="text" id="FirstName" /></td>
</tr>
<tr>
<td>Last name:</td>
<td><input type="text" id="LastName" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="button" value="ADD" onclick="AddActor()" /></td>
</tr>
</table>

这是我的 addActor 函数:

function AddActor(){
$.ajax({
url: 'save.php',
method: 'POST',
dataType: 'json',
data: JSON.stringify({'FirstName': $('#FirstName').val(),
'Id': $('#ID').val(),
'LastName': $('#LastName').val()}),
success: function () {alert("Thanks!"); },
error: function() {alert("Error!");}
});
}

但是我不知道在save.php文件里面放什么,试了好几种方法,都没有保存actor。

最佳答案

将名称属性添加到您的表单:

<table>
<tr>
<td>Id:</td>
<td><input type="text" id="ID" name="ID" /></td>
</tr>
<tr>
<td>First name:</td>
<td><input type="text" id="FirstName" name="FirstName" /></td>
</tr>
<tr>
<td>Last name:</td>
<td><input type="text" id="LastName" name="LastName" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="button" value="ADD" onclick="AddActor()" /></td>
</tr>
</table>

更改 AddActor() 函数:

function AddActor(){
$.ajax({
url: 'save.php',
method: 'POST',
data: $('input').serialize(),
success: function(result) {alert("Thanks!"); },
error: function(result) {alert("Error!");}
});
}

$().serialize 将像查询字符串一样格式化所有输入字段(name=val&name1=val1 格式)。

在 save.php 中:

<?php

// Adjust the actual location of the file relative
// to the location of the PHP script
$json_str = file_get_contents('Actors.json');

// Convert json string to PHP array
$json_arr = json_decode($json_str, true);

// Make sure this variable is set in case Actors.json is empty
if(!$json_arr) {
$json_arr = array();
}

// Add new data
$json_arr[] = $_POST;

// Encode back to json string and save
$json_str_done = json_encode($json_arr);
file_put_contents('Actors.json', $json_str_done);

关于javascript - Ajax POST 使用 PHP 保存 JSON 本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37571293/

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