簡體   English   中英

ionic $ http.post請求返回空數據

[英]ionic $http.post request return a null data

狀態很好200,但是數據為空這是我的代碼:在我的控制器中

        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);
        })

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

        $post_data = file_get_contents('php://input');
        $request = json_decode($post_data);

        $userid = $request->userid;

        $subject_sql ="SELECT SubjectName FROM subjects WHERE userid = '"  

        .$userid. "' ";

        $result = $con->query($subject_sql);
        $re=$result->fetch_assoc();
        echo json_encode($re);

        ?>

在這里,我將我的localstorage值放在一個變量“ userid”中,因為我想在我的php代碼中使用我的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)
    });

您無法訪問$ request-> userid,因為您已將{userid}作為數據發送到$ http.post()中。 嘗試$ http.post(link,{userid:userid})。

服務器端,您應該:

  • 檢查$ post_data是否實際包含任何內容(var_dump()),
  • 檢查是否定義了localStorage.getItem('loginDetails')。

忠告:不要忘記對SQL查詢進行轉義。 如何防止在PHP中進行SQL注入?

使用JSON.parse將其轉換為json對象可以解決我的問題。 var userid = JSON.parse(localStorage.getItem('loginDetails'));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM