将数据从Angular发布到Laravel

时间:2015-07-26 12:45:11

标签: php angularjs laravel

我试图用Angular-Frontend和Laravel-Backend设置一个简单的博客。

但是我无法绕过如何发布的东西。 似乎每个教程都有不同的方式,我不能跟随。

我想要的:将数据发送到Laravel,并将其保存到数据库中。

Angular Factory

angularBlog.factory('blogFactory', function($http){

    var blogFactory = {};
    var api = 'http://localhost:8888/blogApi/public/api/';


    blogFactory.getPosts = function() {
        var result2 = $http.get(api + 'getposts');
        return result2;
    };

    //
    // POST FUNCTION
    //
    blogFactory.postPost = function(data) {
        return $http ({
            method: 'POST',
            url: api + 'post',
            headers: { 'Content-Type' : 'application/x-www-form-urlencoded' },
            data: $.param(data)
        });

    };

    return blogFactory;



});

角度控制器

angularBlog.controller('blogController',['$scope','$http','blogFactory', function($scope, $http, blogFactory){



    $scope.getAllPosts = function() {
        blogFactory.getPosts()
            .success(function(result){
                $scope.posts = result;
            })
            .errror(function(){
                $scope.status = 'cant load data';
            })

    };

//
//  INSERT POST FUNCTION
//
    $scope.insertPost = function() {
        var data = {
            'header': $scope.header,
            'text'  : $scope.htmlVariable
        };
         blogFactory.postPost(data);
         alert('testalert');
    }

}]);

所以在Laravel里面我正在做:

    class blogController extends Controller
    {
        /**
         * Display a listing of the resource.
         *
         * @return Response
         */
        public function index()
        {
            return blogPost::get();

        }

//
// STORE FUNCTION
//

       public function store(Request $request)
    {
        $post = new blogPost();
        $post->header = $request->input('header');
        $post->text   = $request->input('text');

        $post->save();


    }

我只是不明白我应该如何将数据发送到laravel。它应包含两个值,标题和文本。 但当然现在没有任何反应。

任何人都可以给我一个暗示我在想错的地方吗?

1 个答案:

答案 0 :(得分:-1)

我实际上解决了这个问题,但我不知道如何。

在我的LaravelController中 我改变了

$post->header = $request->input('header');
        $post->text   = $request->input('text');

 $post->header = Input::get('header');
        $post->text   = Input::get('text');

$ request似乎在我的所有测试中都有效,但在从Angular发送时却没有。我真的不确定为什么会这样。