Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否将javascript对象保存到服务器/localhost上的json文件?_Javascript_Php_Json - Fatal编程技术网

是否将javascript对象保存到服务器/localhost上的json文件?

是否将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({

我在计算机上为我的web应用程序(例如:my.app)设置了本地环境。目前,我的主页由网格小部件组成,可以在布局上移动。如果用户希望保存其当前布局,请单击按钮将布局保存到“我的服务器”。我尝试了一种php方法,但到目前为止似乎没有任何效果

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文件未创建。我在主要问题中添加了一个错误日志。