angular.js - 关于angularjs post的问题

查看:184
本文介绍了angular.js - 关于angularjs post的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

<!DOCTYPE html>
<html lang="en-us" ng-app="myApp">
    <head>
        <title>Document</title>
        <meta http-equiv="X-UA-Compatible" content="IE=Edge">
        <meta charset="UTF-8">

        <!-- load bootstrap and fontawesome via CDN -->
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
        <style>
            html, body, input, select, textarea
            {
                font-size: 1.05em;
            }
        </style>
        
        <!-- load angular via CDN -->
       <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
        <script src="app.js"></script>
    </head>
    <body>

        <header>
            <nav class="navbar navbar-default">
            <div class="container">
                <div class="navbar-header">
                    <a class="navbar-brand" href="/">AngularJS</a>
                </div>

                <ul class="nav navbar-nav navbar-right">
                    <li><a href="#"><i class="fa fa-home"></i> Home</a></li>
                </ul>
            </div>
            </nav>
        </header>

        <div class="container">

            <div ng-controller="mainController">
            
                <div>
                    <label>What is your twitter handle?</label>
                    <input type="text" ng-model="handle" />
                </div>
                
                <div class="alert" ng-class="{ 'alert-warning': handle.length < characters, 'alert-danger': handle.length > characters }" ng-if="handle.length !== characters">
                
                    <div ng-show="handle.length < characters">
                        You have less than 5 characters!
                    </div>
                    <div ng-show="handle.length > characters">
                        You have more than 5 characters!
                    </div>
                    
                </div>
                
                <hr />
                
                <h1>twitter.com/{{ lowercasehandle() }}</h1>
                
                <h3>Rules</h3>
                <ul>
                    <li ng-repeat="rule in rules">
                        {{ rule.RuleName }}
                    </li>
                </ul>

                Add rule: <input type="text" ng-model="newRule" /><a href="#" class="btn btn-default" ng-click="addRule()">Add</a>
                
            </div>
            
        </div>

    </body>
</html>

//app.js
var myApp = angular.module('myApp', []);

myApp.controller('mainController', ['$scope', '$filter','$http',function ($scope, $filter,$http) {

    $scope.handle = '';

    $scope.characters = 5;

    $scope.lowercasehandle = function () {
        return $filter('lowercase')($scope.handle);
    }

    $http.get('/angularjs/http/api.json')

         .success(function(result){
            $scope.rules = result;
         })

         .error(function (data,status) {
             
             console.log(data);
         })

    $scope.newRule = '';

       $scope.addRule = function () {
        $http.post('/angularjs/http/api', { newRule: $scope.newRule })
            .success(function (result) {

                console.log(result);
                $scope.rules = result;
                $scope.newRule = '';

            })
            .error(function (data, status) {

                console.log(data);

            });
    };
}]);

//api.json
[
    {
    "ID":1,
    "RuleName":"Must be 5 characters"
     },{
    "ID":2,
    "RuleName":"Must be 5 characters"
     },{
    "ID":3,
    "RuleName":"Must be 5 characters"
     }
]

能get到数据,但是post的时候没有更新json数据,和Accept:application/json, text/plain, */* 这个有关吗?该怎么解决。。

解决方案

get的时候随便一个本地的服务器或者不用服务器直接读取json文件就能得到数据。但是如果你想把页面上更改的内容保存回去,就需要服务端代码来处理,angular 本身的$http是没有进行文件写入的功能的。想保存数据的话,post的接口需要有对应的代码逻辑进行文件操作才行

这篇关于angular.js - 关于angularjs post的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆