我有一个非常简单的JSON文件叫做json.php:
[ { "name":"wowsk" } ]
我希望我网站的访问者能够将对象添加到数组中。我坚持的是,如何允许他们添加它。我有一个HTML文件,正文如下:
<form id="addName">
<input id="name" placeholder="Enter your name.">
<button id="addNameButton" type="submit">Submit</button>
</form>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
function addName() {
var input=document.getElementById("name").value;
$.ajax({
url: "json.php",
type: 'POST',
data: {"name":"hello"}
})
}
$("#addNameButton").click(function() {addName()})
</script>
该页面不会向该文件添加另一个对象,我也尝试过使用PUT,但这也不起作用。我是否无法使用JQuery将对象添加到文件中,或者我只是在使用该函数时出错?我已经研究了好几天了,却找不到任何帮助。
感谢您的帮助,
Wowsk
另外,作为一个说明,我想要不仅仅是你或你的会话,还要为其他人更改文件。
答案 0 :(得分:2)
你需要一个添加到JSON文件的实际PHP脚本,它不会神奇地发生。
$.ajax({
url : "script.php",
type : 'POST',
data : {"name":"hello"}
});
然后在script.php
你会做类似
<?php
$content = file_get_contents('json.php');
$json = json_decode($content, true);
$json["name"] = $_POST["name"] || "";
$str = json_encode($json);
file_put_contents( 'json.php', $str );
?>
这真的很冗长,但要说明一点,你必须得到JSON,将其解析成可用的东西,添加属性,然后转换回字符串,然后再次存储在文件中。