如何从输入字段中获取值并写入json文件?

时间:2016-09-03 16:26:16

标签: javascript php jquery json

我正在尝试理解如何使用数据,所以我试图从输入字段中获取值并写入json文件,但它不起作用,如果你帮助我,我会很高兴此

HTML:

<form id="myForm">
  <label for="yourname">Name:</label>
  <input type="text" name="name" placeholder="name" id="name">
  <label for="yourname">Last name:</label>
  <input type="text" name="last-name" placeholder="last name" id="lastName">
  <input type="submit" value="send" id="btn">
</form>

JS:

$(function() {
    $("#myForm").submit(function() {
        $.ajax({
            method: "POST",
            url: "form.php",
            data: $("#myForm").serialize(),
            success: function(data) {
                var name = $("#name").val("");
                var lastName = $("#lastName").val("");
            }
        });
        return false; 
    });
});

PHP:

<?php 
$ToEmail = 'names.json'; 
$EmailSubject = 'форма'; 
$mailheader = "From: ".$_POST["email"]."\r\n";
$MESSAGE_BODY .= "Name: ".$_POST["name"].""; 
$MESSAGE_BODY .= "Last-Name: ".$_POST["last-name"]."";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
?>

3 个答案:

答案 0 :(得分:1)

您无法使用Javascript直接写入JSON文件。您应该创建一个执行此操作的PHP脚本,然后将POST请求发送到此PHP脚本。

编辑:这是一个非常简单的脚本。

<?php file_put_contents("names.json","{\"name\":\"".$_POST["name"]."\",\"last-name\":\"".$_POST["last-name"]."\"}",FILE_APPEND); ?>

答案 1 :(得分:1)

试试这个

 <?php

$inputArray = array(
    'name' => $_POST["name"],
    'last-name' => $_POST["last-name"],
    'email'=>$_POST["email"]
);
$myfile = fopen("myfile.json", "w") or die("Unable to open file!");
$text = json_encode($inputArray);

fwrite($myfile, $text);
fclose($myfile);

echo "file saved";
?> 

答案 2 :(得分:0)

您需要创建一个Php脚本,将接收到的数据写入json文件。

尝试使用:http://php.net/manual/en/function.file-put-contents.php

由于收到的数据是$ _GET或$ _POST,您可以使用json_encode方法轻松转换这些数组:http://php.net/manual/en/function.json-encode.php