javascript - 使用 PHP 创建 .JSON 文件

标签 javascript php jquery json ajax

我有一个基本表单,其中包括一个输入 和一个提交按钮。我想将 input 的值转换为 JSON 然后将 JSON 放在服务器上的文件中以供使用之后。我正在使用 AJAX 和一个小的 PHP 脚本来处理数据和文件创建,但是 JSON 文件 (test.json) 是从未创建。

HTML 标记

<input id="title" type="text" name="title" value="Page Title"/>
<button type="submit" value="submit" id="submit">Submit</button>

JS

var submit = $('#submit');
var title = $('#title');

function createJSON() {
    var jsonObj = [];
    title.each(function() {

        var value = $(this).val();
        var item = {};
        item.title = value;
        jsonObj.push(item);
    });

    $.ajax({
        url:     "create-file.php",
        data: {
            data: jsonObj
        },
        type: "POST"
    });   
}

submit.on('click', function() {
    createJSON();
});

PHP(创建文件.php)

<?php
    $json = $_POST['data'];
    $info = json_encode($json);
    $file = fopen('test.json','w+') or die("File not found");
    fwrite($file, $info);
    fclose($file);
?>

JSON

[
    {
        title: "Page Title"
    }
]

最佳答案

你有 data: {data: jsonObj}, 所以在 php 中它需要是:-

$json = $_POST['data'];

在 php 页面中也添加一些错误报告,以便您获得有关错误的详细信息。当所有错误都解决后,然后注释这些行。

像下面这样:-

<?php
    //comment these two lines when errors are resolved
    error_reporting(E_ALL);
    ini_set('display_errors',1);

    $json = $_POST['data']; //json need to be data
    $info = json_encode($json);
    $file = fopen('test.json','w+') or die("File not found");
    fwrite($file, $info);
    fclose($file);exit;
?>

我已经检查过了,它在我的本地端工作

注意:- 你有 title.each(function() { where title = $('#title');

将来,如果你有多个文本框,那么将 id 转换为 class,如下所示:-

<input class="title" type="text" name="title" value="Page Title"/>

关于javascript - 使用 PHP 创建 .JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43866645/

相关文章:

php - MySQL查询获取列名?

php - 带有其他参数的 MySQL NOT IN 语句

php - 如何获取表单类型中实体的 ID?

javascript - 通过 javascript 切换 ionic 侧边菜单

javascript - Webpack 找不到模块

javascript - 谷歌地图 - 多边形编辑 - 标记顶点

javascript - AngularJS 克隆指令的元素并给出其自己的范围

jquery - 如何克隆克隆的表行?

javascript - 获取特定的 div 以查看或滚动到 View

javascript - 是否可以在函数内部传递变量作为 javascript 中的参数?