【问题标题】:JSON with PHP Slim and AngularJSJSON 与 PHP Slim 和 AngularJS
【发布时间】:2015-08-13 08:36:05
【问题描述】:

我正在尝试将一些数据从我的 AngularJS 项目发送到我正在使用 PHP Slim 的 PHP 服务器,但我已经尝试了我所知道的一切,但似乎没有任何效果。

服务器 PHP 瘦身

$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"}: ""

谁能告诉我我做错了什么?

【问题讨论】:

    标签: php json angularjs http


    【解决方案1】:

    $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 workconfig argument docs

    【讨论】:

    • 谢谢,我成功了。我认为名称“params”的使用是可选的。
    猜你喜欢
    • 2018-02-13
    • 2014-04-16
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多