我正在尝试将我的AngularJS项目中的一些数据发送到我使用PHP Slim的PHP服务器,但我已经尝试了所有我知道的内容,似乎没有任何工作。
SERVER PHP SLIM
$app->get('/create',function() use ($app) {
$data = $app->request()->params();
response_json(200,"DB: User Created",$data);
});
如果我直接从浏览器输入
,它会起作用http://localhost:8888/core/users/create?login=test&password=123&name=Test&email=test@test.com&phone=12313
但是,如果我尝试使用$ http或$ resource
从应用程序发送var obj = { name:"Hello",email:"hello@email.com"};
$http.get('/core/users/create?',obj).success(function(data){console.log(data); });
我得到一个空数组[0]。
如果我尝试使用$ resource,我得到一个obj但不是我的期望。
.factory('qServer',function($resource){
return $resource('/core/users/create?:data',{data: '@data'});
});
var obj = { name:"Hello",email:"hello@email.com"};
var send = JSON.stringify(obj);
//console.log(lol);
qServer.get({data:send},function(data) { console.log(data) });
使用此代码,我得到一个像这样的对象:
data: Object
{"name":"Hello","email":"hello@email_com"}: ""
任何人都可以告诉我我做错了什么?
答案 0 :(得分:3)
$http.get
方法的第二个参数不是GET参数,而是请求配置。
你想使用这样的东西(注意配置参数中的params
键和URL末尾缺少?
:
var obj = { name:"Hello",email:"hello@email.com"};
$http.get('/core/users/create', {params: obj})
.success(function(data){console.log(data); });
另请参阅:Q: $http get parameters does not work和config argument docs。