使用AngularJS将JavaScript对象/数组发送到PHP控制器
我目前正在使用Laravel作为我的PHP框架,在这里我设置了一个Api类,该类将启动并调用一个外部Api 不过,我希望通过AJAX和AngularJS使用此功能,我目前正在努力从Javascript传递数据。下面是它的工作原理: PHP API GET调用:使用AngularJS将JavaScript对象/数组发送到PHP控制器,javascript,php,laravel-4,Javascript,Php,Laravel 4,我目前正在使用Laravel作为我的PHP框架,在这里我设置了一个Api类,该类将启动并调用一个外部Api 不过,我希望通过AJAX和AngularJS使用此功能,我目前正在努力从Javascript传递数据。下面是它的工作原理: PHP API GET调用: Api::get('users/all', ['order' => 'desc']); 这将使用参数order=desc向api创建GET请求。但是,我不必为每个api调用创建路由,我希望动态执行此操作: 角度服务: app.fa
Api::get('users/all', ['order' => 'desc']);
这将使用参数order=desc
向api创建GET请求。但是,我不必为每个api调用创建路由,我希望动态执行此操作:
角度服务:
app.factory('Api', function($http) {
return {
query : function( method, path, data ) {
return $http({
method: 'POST',
url: 'api',
headers: { 'Content-Type' : 'application/json' },
data: { 'method': method, 'path': path, 'data': data },
});
},
}
});
然后我的PHP控制器:
$method = Input::get('method');
$path = Input::get('path');
return Api::$method($path);
所以这是可行的,但是我很难将第三个数组参数从JS传递到PHP
var json = '{"order": "desc"}';
Api.query('get', 'users/list', json)
.success(function(response) {
$scope.test = response;
});
在我的PHP中,我尝试json\u解码它,但没有成功(实际上没有错误):
有人知道最好的解决方法是什么吗?什么是问题?通过上面的代码,我可以从angularjs方法接收json_数据,并可以调用外部Api::$method($path,$data)。(我的Api类只是模拟的)
$method = Input::get('method');
$path = Input::get('path');
$data = json_decode(Input::get('data'), true);
return Api::$method($path, $data);