ionic $ http.post请求返回一个空数据

时间:2016-09-22 14:10:46

标签: javascript php angularjs ionic-framework

状态正常200,但数据为空 这是我的代码: 在我的控制器中

def f1(x1):
    print("f1 {0}".format(x1))

def f2(x1,x2):
    print("f2 {0} {1}".format(x1,x2))

for data in ((f1,5),(f2,3,4)):
    data[0](*data[1:])
# output:
#   f1 5
#   f2 3 4

在我的PHP代码中。                          require_once( 'connection.php');

        var link = 'http://127.0.0.1/mobile/subject.php';
        var userid = localStorage.getItem('loginDetails');
        console.log(userid);

        $http.post(link, {userid}).then(function(res){
        console.log(res);
        })

在这里,我把我的localstorage值放在变量“userid”中,因为我想在我的php代码中使用我的localstorage值。我的代码特别在我的控制器中是否有问题?

3 个答案:

答案 0 :(得分:0)

如果您的localstorage已经包含JSON对象,那么您只需要将{userid}更改为userid。

    var link = 'http://127.0.0.1/mobile/subject.php';
    var userid = localStorage.getItem('loginDetails');
    console.log(userid);

    $http.post(link, userid, {}).success(function(res){
      console.log(res);
    })
    .error(function(err) {
      console.log(err)
    });

答案 1 :(得分:0)

您无法访问$ request-> userid,因为您在$ http.post()中发送了{userid}作为数据。试试$ http.post(link,{userid:userid})。

服务器端,你应该:

  • 检查$ post_data是否实际包含任何内容(var_dump()),
  • 检查是否定义了localStorage.getItem('loginDetails')。

建议:不要忘记转义你的SQL查询。 (How can I prevent SQL injection in PHP?

答案 2 :(得分:0)

使用JSON.parse将其转换为json对象,它解决了我的问题。 var userid = JSON.parse(localStorage.getItem('loginDetails'));