【问题标题】:Post Data from Angular to Laravel将数据从 Angular 发布到 Laravel
【发布时间】:2015-07-26 23:12:00
【问题描述】:

我正在尝试使用 Angular-Frontend 和 Laravel-Backend 建立一个简单的博客。

但我不知道如何发布内容。 似乎每个教程的做法都不同,我只是无法遵循。

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

角工厂

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。它应该包含两个值,标题和文本。 但当然,现在什么也没有发生。

谁能给我一个提示我哪里想错了?

【问题讨论】:

  • 我不确定我是否理解。您的 blogFactory.postBlog() 已经在向 Laravel 发送请求。你能详细说明什么是行不通的吗?
  • 好吧,实际上没有任何效果。我不确定 $request->input('header') 是否应该能够检索我想要的数据?
  • 没有任何效果不是答案。如果您在 Javascript 控制台中遇到任何错误 - 我们需要知道。如果您在服务器日志中收到任何错误 - 我们需要知道。如果请求是否从 Angular 发送到 Laravel - 我们也需要知道这一点。否则,仅通过查看所有代码很难找到原因。您需要帮助,我们需要更多信息 :)
  • 是的,$request->input('header') 应该可以工作
  • 请注意$http 默认在响应正文中发送 json,而不是表单编码。如果要使用表单编码,请适当设置请求标头

标签: php angularjs laravel


【解决方案1】:

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

在我的 LaravelController 中 我变了

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-27
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 2016-04-09
    相关资源
    最近更新 更多