是否将javascript对象保存到服务器/localhost上的json文件?
我在计算机上为我的web应用程序(例如:my.app)设置了本地环境。目前,我的主页由网格小部件组成,可以在布局上移动。如果用户希望保存其当前布局,请单击按钮将布局保存到“我的服务器”。我尝试了一种php方法,但到目前为止似乎没有任何效果是否将javascript对象保存到服务器/localhost上的json文件?,javascript,php,json,Javascript,Php,Json,我在计算机上为我的web应用程序(例如:my.app)设置了本地环境。目前,我的主页由网格小部件组成,可以在布局上移动。如果用户希望保存其当前布局,请单击按钮将布局保存到“我的服务器”。我尝试了一种php方法,但到目前为止似乎没有任何效果 var layout = { user: "john doe", widgets: ["widget1", "widget2", "widget3"], layout_name: "my layout" }; $.ajax({
var layout = {
user: "john doe",
widgets: ["widget1", "widget2", "widget3"],
layout_name: "my layout"
};
$.ajax({
url: "/app/data/json.php",
data: { json: JSON.stringify(defaultLayout) },
dataType: "json",
type: "POST"
});
然后我有一个php文件json.php,它应该写入我的服务器/本地主机
<?php
$json = $_POST['json'];
$file = fopen('jsonfile.json', 'w+');
fwrite($file, $json);
fclose($file);
?>
当代码运行时,似乎什么也没有发生。我不确定我做错了什么。有人能帮我将javascript对象保存到服务器/localhost上的JSON文件中吗
这就是我得到的回应
<br />
<b>Notice</b>: Undefined index: json in <b>/Users/me/Sites/my/app/data/json.php</b> on line <b>3</b><br />
<br />
<b>Warning</b>: fopen(jsonfile.json): failed to open stream: Permission denied in <b>/Users/me/Sites/my/app/data/json.php</b> on line <b>4</b><br />
<br />
<b>Warning</b>: fwrite() expects parameter 1 to be resource, boolean given in <b>/Users/me/Sites/my/app/data/json.php</b> on line <b>6</b><br />
<br />
<b>Warning</b>: fclose() expects parameter 1 to be resource, boolean given in <b>/Users/me/Sites/my/app/data/json.php</b> on line <b>7</b><br />
注意:第3行/Users/me/Sites/my/app/data/json.php中未定义的索引:json
警告:fopen(jsonfile.json):无法打开流:第4行/Users/me/Sites/my/app/data/json.php中的权限被拒绝
警告:fwrite()希望参数1是第6行的/Users/me/Sites/my/app/data/json.php中给定的资源布尔值
警告:fclose()要求参数1是第7行/Users/me/Sites/my/app/data/json.php中给定的资源布尔值
在打开PHP标记后立即将错误报告添加到文件顶部,例如要添加到@PedroLobito的注释中,您要写入的目录是否具有写入权限?您是否检查了文件是否已实际创建?您没有提到任何错误,查看您的代码,除了创建该文件之外,它应该什么也不做。defaultLayout
是未定义的@JorgeCampos文件未创建。我在主要问题中添加了一个错误日志。