2016-12-25 5 views
0

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". Но это не работает. Поэтому любой может сказать, что не так с моим кодом.

+0

Что на стороне сервера код для обработки URL-адресов ' 'Http: // Localhost/AngularJS/пост .json'' –

+0

это url, где сообщение, json-файл находится на моем компьютере – user7339499

+0

Является ли это скриптом PHP? (странное имя) Я думаю, вам нужно кое-что прочитать о HTTP –

ответ

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"; 

?> 
+0

Не хотите хранить в базе данных .. что пользователь когда-либо вводит данные, которые он должен получить в файле на нашем компьютере – user7339499

+0

, какой тип файла вы хотите, файл txt или файл excel или другое расширение? file.txt, file.xls/file.xlsx и т. Д. .txt не является хорошим вариантом, так как сложно обновить данные, excel также тот же, файл доступа является хорошим вариантом, если вы не хотите использовать базу данных –

+0

файл доступа. Что это значит? – user7339499

0

Вы не можете писать в файл с javascript, это будет угрозой безопасности. Чтобы ваш вызов POST работал, вам нужен метод сервиса и службы для получения данных и сохранения их в файл. Вы можете написать свою услугу на любом языке PHP, C# или JS.

Проверить этот учебник, чтобы создать RESTful API с NodeJS (так как вы уже работаете с 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; 
    }); 
}); 
Смежные вопросы