簡體   English   中英

發送和接收從凌空的PHP頁面

[英]Send and receive from a php page with volley

我打算將一個參數發送到一個php頁面,並在具體處理后以json格式執行一系列參數,我得到相同的頁面。 我寫了以下代碼:

//Showing the progress dialog
final ProgressDialog loading = ProgressDialog.show(this,"در حال ارتباط با سرور","لطفا صبر کنید",false,false);
final JsonArrayRequest jsonArrReq = new JsonArrayRequest(GetFavTickets_url,
    new Response.Listener<JSONArray>() {
        @Override
        public void onResponse(JSONArray jsonArray) {
            //   Log.e("LOG", jsonArray.toString());
            for (int i = 0 ; i < jsonArray.length() ; i++)
            {
                try {
                    JSONObject jsonObject = jsonArray.getJSONObject(i);
                    Log.e("LOG", "object : " + jsonObject.getString("name"));
                    name.add(i,jsonObject.getString("name"));
                    family.add(i,jsonObject.getString("family"));
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
            loading.dismiss();
        }
    },
    new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError volleyError) {
            //Dismissing the progress dialog
            loading.dismiss();

            //Showing toast
            Toast.makeText(Favorite.this, volleyError.getMessage().toString(), Toast.LENGTH_LONG).show();
            Log.e("Volley",volleyError.getMessage().toString());
        }
    }){
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            //Converting Bitmap to String

            //Creating parameters
            Map<String,String> params = new Hashtable<String, String>();

            //Adding parameters
            params.put("id", id);

            //returning parameters
            return params;
        }
    };

    //Creating a Request Queue
    RequestQueue requestQueue = Volley.newRequestQueue(this);

    //Adding request to the queue
    requestQueue.add(jsonArrReq);
}

而Volley給出了以下信息:

org.json.JSONException:類型java.lang.String的值錯誤無法轉換為JSONArray

我的PHP代碼:

<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
    @$national_code = $_POST['national_code'];
        $Tickets = array(null);

        $result = mysqli_query($con,"SELECT * FROM favorites WHERE user_national_code='$national_code'");

        $count=mysqli_num_rows($result);

        while($row = mysqli_fetch_array($result))
        {
            $Tickets[] = $row['ticket_id'];    
        }

        $length = count($Tickets)-1;

        for ($i=1; $i<=$length; $i++){  

            $result = mysqli_query($con,"SELECT * FROM `ticket` WHERE id='$Tickets[i]'");

            while($row = mysqli_fetch_array($result)){
                $output[]=$row;         
            }
        }
    }else{
        echo "Error";
    }
?>

嘗試替換它

 final JsonArrayRequest jsonArrReq = new JsonArrayRequest(GetFavTickets_url, new Response.Listener()

StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
            new Response.Listener<String>() ...

暫無
暫無

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

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