2016-12-25 47 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

什麼是服務器端的代碼來處理URLS'的「http://本地主機/ AngularJS /後.json'' –

+0

這是post,json文件位於我的電腦中的url – 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

Donot要存儲在數據庫..什麼這樣用戶輸入數據它必須存儲在我們的計算機文件 – user7339499

+0

什麼類型的文件,你想要的文件或Excel文件或其他擴展名? file.txt,file.xls/file.xlsx等 .txt不好選擇,因爲它很難更新數據,excel也是一樣的, 如果你不想使用數據庫,訪問文件是一個不錯的選擇 –

+0

訪問文件。那是什麼意思? – user7339499

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/

這個在計算器中的答案向你展示瞭如何創建一個服務以及如何將數據保存到文件中(使用NodeJS和ExpressJS):Using POST data to write to local file with node.js and express

**你想讓角色服務中的$ http調用不在控制器中。

一旦你創建你的服務,改變你這樣的代碼(我用的是寧靜的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; 
    }); 
}); 
相關問題