Volley JSONObject POST 请求没有响应

我想使用带有单个参数的 Volley 发送 JSONObject POST 请求。我编写并包含在下面的代码似乎没有在 onResponse 方法中收到任何响应。我看不出是什么问题导致了这种情况。


我已经在服务器端进行了检查,它正常工作,PHP 代码回显了一个 JSON 编码的数据数组。


public void mySightingsJsonRequest() {



    //get username held in shared preferences (KMcE)

    HashMap<String, String> user = newSession.getUsername();

    final String username = user.get(SessionUtility.KEY_USERNAME);


    JSONObject obj = new JSONObject();

    try {

        obj.put("Username", username);

    } catch (JSONException e) {

        e.printStackTrace();

    }


    JsonObjectRequest mySightingsRequest = new JsonObjectRequest(Request.Method.POST, ConnectionURLs.MY_SIGHTINGS, obj, new Response.Listener<JSONObject>() {

        @Override

        public void onResponse(JSONObject response) {

            Log.d(TAG, "onResponse: MySightings response");

            try {

                JSONArray jsonArray = response.getJSONArray("server_response");


                for (int i = 0; i < jsonArray.length(); i++) {

                    JSONObject sighting = jsonArray.getJSONObject(i);


                    int sightingRecordingNumber = sighting.getInt("Recording Number");

                    String sightingImgURL = sighting.getString("IMG");

                    String sightingCommonName = sighting.getString("Common Name");

                    String sightingUsername = sighting.getString("Submitted by");

                    double sightingLongitude = sighting.getDouble("Longitude");

                    double sightingLatitude = sighting.getDouble("Latitude");


                    mSightingList.add(new SightingSingle(sightingRecordingNumber, sightingImgURL, sightingCommonName, sightingUsername, sightingLatitude, sightingLongitude));


                }

                mMySightingsAdapter = new MySightingsAdapter(getActivity(), mSightingList);

                mMySightingRecyclerView.setAdapter(mMySightingsAdapter);


            } catch (JSONException e) {

                e.printStackTrace();

            }



catspeake
浏览 194回答 2
2回答

HUWWW

基兰 M。请使用以下代码。Log.d(TAG,&nbsp;"onResponse:&nbsp;MySightings&nbsp;response"&nbsp;+&nbsp;response.toString());您应该注意响应值。现在这是调试的方法之一。

呼唤远方

可以询问服务器是否可以接收json或试试这个代码:String&nbsp;reuquestBody&nbsp;=&nbsp;"Username="+username然后用 requestBody 替换 obj
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java