Я пытаюсь сохранить массив в файл JSON, расположенный на веб-сервере. Ответ удался, но когда я открываю JSON, он полностью пуст.
Я попытался создать объект JSON самостоятельно, но он дал те же результаты.
Вот процесс:
app.controller('BookController', ['$window', '$http', function ($window, $http) {
this.contacts = [];
this.exportContacts = function(contacts){
$http({
method: "POST",
url: '/data/contacts.json',
headers: { 'Content-Type': 'application/json' },
data: contacts
}).then(function goodCall(){
$window.alert("Save done!");
}, function badCall(){
$window.alert("Failed to save error! error: " + $http.status);
});
};
}]);
я заполнить массив входов с помощью формы:
<form name="addCont" ng-show="showForm" ng-controller="ContactController as contactCtrl" ng-submit="contactCtrl.addContact(addCont, bookCtrl.contacts)" novalidate>
<label>
First Name:
<input name="fname" type="text" required ng-pattern="/^(\D)+$/" ng-model="contactCtrl.contact.firstName"></input>
<span style="color:red" ng-show="addCont.fname.$dirty && addCont.fname.$invalid">
<span ng-show="addCont.fname.$error.required">First Name is required.</span>
<span ng-show="addCont.fname.$error.pattern">First name must contain letters only!</span>
</span>
</label>
<label>
Last Name:
<input name="lname" type="text" ng-pattern="/^(\D)+$/" ng-model="contactCtrl.contact.lastName"></input>
<span style="color:red" ng-show="addCont.lname.$dirty && addCont.lname.$invalid">
<span ng-show="addCont.lname.$error.pattern">Last name must contain letters only!</span>
</span>
</label>
<label>
Phone Number:
<input name="phone" type="tel" required ng-model="contactCtrl.contact.phone" ng-minlength="9" ng-maxlength="10" ng-pattern="/^(\d)+$/"></input>
<span style="color:red" ng-show="addCont.phone.$dirty && addCont.phone.$invalid">
<span ng-show="addCont.phone.$error.minlength">Phone number is too short!</span>
<span ng-show="addCont.phone.$error.maxlength">Phone number is too long!</span>
<span ng-show="addCont.phone.$error.required">Phone number is required!</span>
<span ng-show="addCont.phone.$error.pattern">Must not contain letters!</span>
</span>
</label>
<label>
Notes:
<input name="notes" type="text" ng-model="contactCtrl.contact.notes"></input>
</label>
<input type="submit" value="Submit" ng-disabled="addCont.fname.$invalid || addCont.lname.$invalid || addCont.phone.$invalid" />
</form>
Так массив шо uld посмотреть такие вещи:
[{
firstName: "Tim",
lastName: "asdxc",
notes: "asdasd",
phone: "0532753940"
},{
firstName: "Timz",
lastName: "asdasd",
notes: "asdasd",
phone: "123123123"
}]
Должен ли я как-то разбирать массив перед его отправкой?
я думаю, что URL вы даете $ HTTP веб-сервис. Он не будет работать с файлом – AlainIb
Взгляните на http://stackoverflow.com/questions/17547227/angular-js-post-request-not-sending-json-data – mccainz