Php 将数据从Angular发布到Laravel
我试图建立一个简单的博客与角度前端和Laravel后端 但是,我不知道如何发布一些东西。 似乎每个教程都有不同的做法,我就是不懂 我想要的是:将数据发送到Laravel,后者应将其保存到数据库中 角工厂Php 将数据从Angular发布到Laravel,php,angularjs,laravel,Php,Angularjs,Laravel,我试图建立一个简单的博客与角度前端和Laravel后端 但是,我不知道如何发布一些东西。 似乎每个教程都有不同的做法,我就是不懂 我想要的是:将数据发送到Laravel,后者应将其保存到数据库中 角工厂 angularBlog.factory('blogFactory', function($http){ var blogFactory = {}; var api = 'http://localhost:8888/blogApi/public/api/'; blog
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');
}
}]);
因此,在拉威尔内部,我正在做:
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控制器中 我变了
$post->header = $request->input('header');
$post->text = $request->input('text');
到
$request似乎在我的所有测试中都有效,但从Angular发送时无效。我真的不知道这是为什么 我不太明白。您的blogFactory.postBlog()已向Laravel发送请求。你能详细说明什么不起作用吗?事实上,什么都不起作用。我不确定$request->input('header')是否能够检索到我想要的数据?不起作用不是答案。如果您在Javascript控制台中遇到任何错误,我们需要知道。如果您在服务器日志中发现任何错误,我们需要知道。如果请求是否从angular发送到Laravel,我们也需要知道这一点。否则,仅仅通过查看所有代码就很难找到原因。您需要帮助,我们需要更多信息:)是的,$request->input('header')应该知道默认情况下,
$http
在响应体中发送json,而不是表单编码。如果要使用表单编码,请适当设置请求头
$post->header = Input::get('header');
$post->text = Input::get('text');