recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - Angular écrit un fichier JSON local via $http.post

Je m'entraînais récemment à utiliser Angular et j'ai rencontré un problème lors de l'implémentation de $http pour lire et écrire des documents JSON locaux.

Question

Le contenu du document JSON a été lu avec succès à l'aide de la méthode GET Mais lors de l'utilisation de POST pour insérer le document JSON local newBook, l'erreur suivante s'est produite dans le terminal Chrome :

 Failed to load resource: the server responded with a status of 404 (Not Found)

Le code clé est affiché :

var bookLibraryApp = angular.module('bookLibraryApp', ['ngRoute']);

bookLibraryApp.controller('BookLibraryController', function($scope, $http){
    $http.get('api/books.json').success(function(data){
        $scope.books = data;
    }).error(function(){
        alert("an unexpected error ocurred!");
    });

    $scope.addBook = function(){
        var newBook = {
                        isbn: $scope.newBook.isbn, 
                        title: $scope.newBook.title,
                        year: $scope.newBook.year
                      };

        $http.post('api/books.json', newBook).success(function(){
            $scope.msg = 'Data saved';
        }).error(function(data) {
            alert("failure message:" + JSON.stringify({data:data}));
        });
    }
});
Le document HTML correspondant à

est :

<p class="container">
    <h2>Create a Book here</h2>
    <p class="createBookInfo">
        <p>ISBN: <input type="text" ng-model="newBook.isbn"/></p>
        <p>Title: <input type="text" ng-model="newBook.title" /></p>
        <p>Year: <input type="number" ng-model="newBook.year" /></p>
    </p>
    <br />
    <button ng-click="addBook()">Insert this book</button>
    <p>{{msg}}</p>
</p>

J'espère que quelqu'un pourra m'aider à trouver l'erreur, merci !

迷茫迷茫2774 Il y a quelques jours769

répondre à tous(3)je répondrai

  • 淡淡烟草味

    淡淡烟草味2017-05-15 16:51:59

    J'ai reçu de l'aide de l'IRC sur le site officiel d'Angular. La réponse (traduction) est à peu près la suivante :

    file:/// est un simple serveur de texte local qui peut implémenter les services $http.get(), mais pour implémenter les services POST, PUT, DELETE, un véritable serveur réseau est requis. Si vous parlez plusieurs langues, il existe de nombreuses options, basées sur PHP, Rail, Ruby, Java et ainsi de suite.
    Bien sûr, vous pouvez choisir une solution JS complète. Par exemple, j'utilise MEAN maintenant et je vous souhaite un bon jeu.

    D'accord, maintenant la question se pose, discutons des domaines dans lesquels la technologie est la plus forte…………

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-15 16:51:59


    J'ai transféré la méthode post json ci-dessus et j'ai renvoyé le résultat correctement

    répondre
    0
  • 迷茫

    迷茫2017-05-15 16:51:59

    Que faut-il écrire dans books.json ?

    répondre
    0
  • Annulerrépondre