将用户输入的数据保存在文件中

时间:2016-12-25 11:14:55

标签: javascript html angularjs

下面的html代码: -  `                AngularJS | $ http服务器          

<div ng-controller="people">
    <ul>
        <h2> Names and Ages of progrmmers: </h2>
        <li ng-repeat="person in persons">
            {{person.Name + ':' + person.Age}}
        </li>
    </ul>

</div>

以下js文件:

var app=angular.module('mainApp',[]);

app.controller('people',function($scope,$http){
    $http({
        method: 'POST',
        url: 'http://localhost/AngularJS/post.json',
        data:{"Name": "1234", "Age":"13","Fav_Color":"black"},
        headers:{'records':'json'}
    })
    .success(function(response){
        $scope.persons=response.records;
    });
});

我需要将数据保存在文件名“post.json”中。但它没有用。所以任何人都可以告诉我的代码有什么问题。

2 个答案:

答案 0 :(得分:0)

制作一个将数据保存到数据库中的php文件

将此文件放入您的php文件中,并更新列名并添加查询,然后使用您在上面编写的ajax请求调用此文件

<?php 

// get all the values from the request
$name = $_POST['Name'];
$age = $_POST['Age'];
$favcolor = $_POST['Fav_Color'];

if(!$name || empty($name))
{
  echo "name is required";
}

if(!$age || empty($age))
{
  echo "age is required";
}

if(!$favcolor || empty($favcolor))
{
  echo "favorite color is required";
}

// change according to column names on the left side
$item = array(
  "name" => $name,
  "age" => $age,
"favcolor" => favcolor
);

// save in mongo db - ref link : http://php.net/manual/en/mongo.queries.php

echo "success";

?>

答案 1 :(得分:0)

您无法使用javascript写入文件,这将带来安全风险。要使POST调用工作,您需要一种服务和服务方法来获取数据并将其保存到文件中。您可以使用PHP,C#或JS语言编写服务。

查看本教程,使用NodeJS创建一个restful api(因为您已经在使用javascript):https://www.thepolyglotdeveloper.com/2015/10/create-a-simple-restful-api-with-node-js/

查看其他教程,了解如何使用NodeJS将数据保存到文件:https://docs.nodejitsu.com/articles/file-system/how-to-write-files-in-nodejs/

stackoverflow中的这个答案向您展示了如何创建服务以及如何将数据保存到文件(使用NodeJS和ExpressJS):Using POST data to write to local file with node.js and express

**您希望在不在控制器中的角度服务中进行$ http调用。

创建服务后,请更改您的代码(我正在使用restful api):

var app=angular.module('mainApp',[]);

app.controller('people',function($scope,$http){
    $http({
        method: 'POST',
        url: 'http://localhost/api/user',
        data:{"Name": "1234", "Age":"13","Fav_Color":"black"}
    })
    .success(function(response){
        $scope.persons=response.records;
    });
});