Php 使用JQuery向JSON文件添加对象
我有一个非常简单的JSON文件,名为JSON.php:Php 使用JQuery向JSON文件添加对象,php,jquery,json,Php,Jquery,Json,我有一个非常简单的JSON文件,名为JSON.php: [ { "name":"wowsk" } ] 我希望我的网站的访问者能够将对象添加到阵列中。但我一直坚持的是,如何允许他们添加它。我有一个HTML文件,正文如下所示: <form id="addName"> <input id="name" placeholder="Enter your name."> <button id="addNameButton" type="submit">S
[ { "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>
提交
函数addName(){
var输入=document.getElementById(“名称”).value;
$.ajax({
url:“json.php”,
键入:“POST”,
数据:{“name”:“hello”}
})
}
$(“#addName按钮”)。单击(函数(){addName()})
但是页面不会向文件中添加其他对象,我也尝试过使用PUT,但也不起作用。我是否不能使用JQuery向文件中添加对象,或者只是在使用该函数时出错了?我已经研究了好几天了,但是找不到任何帮助。
谢谢你的帮助,
Wowsk
另外,作为说明,我希望该文件也能为其他人更改,而不仅仅是你或你的会话。你需要一个实际的PHP脚本添加到JSON文件中,这不会神奇地发生
$.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,将其解析为可用的内容,添加属性,然后转换回字符串,并再次存储在文件中。您有JSON文件还是JSON对象??如果你有一个文件,你需要使用文件IO来读写,如果你的JS作用域中有一个JSON对象,只需在array@Wowsk看看这个问答:@NightOwlPrgmr谢谢!这正是我想要的。我更改了文件以使用您建议的ajax函数,并添加了一个script.php文件。但是,当我转到以下页面:wowsk.org/addName时,当我按submit时,PHP文件不会更新,即使页面提示我“成功”。是否有我做错了什么,或者我有一个简单的拼写错误?请确保您对文件有写权限,路径和文件名正确无误等。您还可以通过向ajax函数返回不同的值来进行调试,以查看发生了什么。