我写了一些angularJs代码
var app = angular.module('registration', []);
app.controller('registrationController', ['$scope', '$http',function($scope, $http){
$scope.userData = {};
var registrationUrl = Routing.generate('registrationAction');
console.log(registrationUrl);
$scope.sendForm = function() {
$http({
'url' : registrationUrl,
'data' : $.param($scope.userData),
'method' : 'POST',
'headers': {'Content-Type': 'application/x-www-form-urlencoded'}
})
.success(function(data){
if(data.response == true) {
console.log('success');
$location.path(Routing.generate('indexAction'));
}
})
.error(function(error){
console.log('error');
});
}
}]);
在我的控制器中
public function registrationAction(Request $request)
{
if($request->isXmlHttpRequest() && $request->isMethod('POST')) {
$user = new Users();
$user->setEmail($request->request->get('email'));
$user->setPassword($request->request->get('password'));
$user->setUsername($request->request->get('login'));
$em = $this->getEntityManager();
$em->persist($user);
$em->flush();
return new JsonResponse(['response' => true]);
}
return new JsonResponse(['response' => false]);
}
结果我的数据没有在db中写入而我的页面没有重定向,但在我的控制台中我没有错误,我的状态代码为200.请帮帮我
答案 0 :(得分:0)
因此,要将来自angularJS客户端的数据存储到symfony2服务器,您应该使用简单且轻量级的Request侦听器来处理内容类型的“application / json”。
qandidate-labs/symfony-json-request-transformer
然后,在提交表单操作(客户端)中,执行:
<form>
商店行为(服务器)
$scope.sendForm = function(){
$http.post(registrationUrl, $scope.userData);
.success(function(data){
if(data.response == true) {
console.log(data.response);
$location.path(Routing.generate('indexAction'));
}
}).error(function(data){
console.log("data error ...");
});
};