我试图用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。它应包含两个值,标题和文本。 但当然现在没有任何反应。
任何人都可以给我一个暗示我在想错的地方吗?
答案 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发送时却没有。我真的不确定为什么会这样。