我正在尝试将一些数据从我的 AngularJS 项目发送到我正在使用 PHP Slim 的 PHP 服务器,但我已经尝试了我所知道的一切,但似乎没有任何效果。
服务器 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"}: ""
谁能告诉我我做错了什么?
最佳答案
$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 .
关于php - JSON 与 PHP Slim 和 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30547168/