JsonObjectRequest始终返回空对象

时间:2016-06-07 14:32:01

标签: php android json android-volley

我正在为流媒体音乐开发MediaPlayer,但最近我被卡住了。

当我请求一个JSONObject时,我会收到它,但它是空的(Log告诉我)。我尝试使用JSONArray,结果相同(我的所有代码都在下面)。

我的PHP看起来不错,因为我尝试使用http测试器来处理POST请求,它总是返回好结果。 SharedPreferences既不是原因。

我真的无法理解问题在哪里,所以感谢所有的帮助:D

MY REQUEST METHOD:

  private void SelectAlbum() {
    //Getting values from edit texts
    SharedPreferences sharedPreferences = getSharedPreferences(Config.ALBUM_SELECTED, Context.MODE_PRIVATE);
    chxAlbum = sharedPreferences.getString(Config.ALBUM_SELECTED, "Preview");
    //Creating a string request
    JsonObjectRequest stringRequest = new JsonObjectRequest(Request.Method.POST, REGISTER_URL
            , new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            Log.d("test", response.toString());

            Toast.makeText(getApplicationContext(), "yeees!", Toast.LENGTH_SHORT).show();
        }
    },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    //You can handle error here if you want
                    Toast.makeText(getApplicationContext(), "Invalid username", Toast.LENGTH_LONG).show();

                }
            }) {
        @Override
        protected Map<String, String> getParams() throws AuthFailureError {
            Map<String, String> params = new HashMap<>();
            //Adding parameters to request
            params.put(Config.KEY_ALBUM, chxAlbum);
            //returning parameter
            return params;
        }
    };

    //Adding the string request to the queue
    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);
}

我的PHP代码:

 <?php

 if($_SERVER['REQUEST_METHOD']=='POST'){

    $album= $_POST['album'];

 $sql = "SELECT * FROM dbMusique WHERE album LIKE '$album' ";

  require_once('dbConnect.php');

 $check = mysqli_fetch_array(mysqli_query($con,$sql));

 $res = mysqli_query($con,$sql);

 $result = array();

 while($row = mysqli_fetch_array($res)){
 array_push($result,
 array(

 '0'=>$row[0],
 '1'=>$row[1],
 '2'=>$row[2],
 '3'=>$row[3],
 '4'=>$row[4],
 '5'=>$row[5],
 '6'=>$row[6],
 '7'=>$row[7],
 '8'=>$row[8],
 '9'=>$row[9],

  ));
 }
 $final = json_encode(array("result"=>$result));

 echo stripslashes($final);
 }

我的日志:

 6-07 16:16:36.600 11985-11985/com.example.pierr.puremusictest2 D/test: {"result":[]}

最后来自HTTP TESTER的结果:

 {"result":[["2","5","Satellite","Capital Kings","II",null,"2015","http://www.jesusfreakhideout.com/cdreviews/covers/capitalkingsii.jpg","http://lolilol.890m.com/Musique/CapitalKings/II/Capital_Kings_-_Satellites_Official_Audio_Video-r8.aac",null]]}

0 个答案:

没有答案