从Laular中的Angular获取Form Post数据

时间:2014-03-20 15:20:06

标签: angularjs laravel factory

我有一些问题从我的Angular(前端)应用程序向我的laravel后端发布数据(使用$ resource和factory)。 这是我的控制器,它获取表单数据并将它们发送到我的工厂:

    myApp.controller('EventCtrl', function ($scope, $http, Events) {
    $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded;charset=utf-8";

    $scope.addEvent = function(){
        postData = {
            'nom' : $scope.eventName,
            'description' : $scope.eventDesc,
            'date' : $scope.eventDate,
            'heure' : $scope.eventHour
        }

        Events.save({},postData).$promise.then(function(result) {
            if(result == 'success') {
                // insert on front
                // redirect to main.html
            } else {
                // refresh
                //$scope.events = Events.getAll();
            }
        });
      };
  });

我的工厂如下:

myApp.factory('Events', ['$resource', function($resource) {
    return $resource( 'http://localhost:8888/laravel/public/event/:eventId',
        { eventId: '@eventId' }, {
            get: {
                method: 'GET',
                params: { eventId: '@eventId' },
                isArray: false
            },
            save: {
                method: 'POST',
                params: {},
                isArray: false
            }
        } );
}]);

我可以在我的Google Chrome日志中看到Json字符串发送的是:{" nom":"我的名字","说明":&#34 ; desc"," date":" 2014-03-28"," heure":" 23:00"} :. 似乎发送的数据错过了一个名字(参见":"在字符串的末尾),所以我不能抓住他们的laravel的一面。我是否遗漏了任何可以在后端获取数据的名称或其他内容?

感谢您的时间!

1 个答案:

答案 0 :(得分:3)

实际上,由于这个链接,我找到了一种方法:http://www.codingswag.com/2013/07/get-raw-post-data-in-laravel/ 您可以使用此代码获取路线中的所有过帐数据:

Route::post('/event', function()
{
    // First we fetch the Request instance
    $request = Request::instance();

    // Now we can get the content from it
    $content = $request->getContent();

    var_dump($content);

});