Невозможно получить какой-либо ответ от API (залп)

1

Я не могу разобрать запрос с URL http://shikshan.indiansmarthub.co.in/api/menu_t.php?token=SHIK9306488&catt=3

Мои другие Api придерживаются той же структуры, но я не могу получить никакого ответа от этого API при интеграции его в мое приложение.

Android Volley Code

private void doLogin() {
        String url = "http://shikshan.indiansmarthub.co.in/api/menu_t.php?token=SHIK9306488&catt=3";
        StringRequest strReq = new StringRequest(
                Request.Method.POST, url,
                new Response.Listener<String>() {

                    @Override
                    public void onResponse(String response) {

                        Log.e("tag_r", "tag_r");
                        Log.e("tag_res", response);

                    }
                },
                new Response.ErrorListener() {

                    @Override
                    public void onErrorResponse(VolleyError volleyError) {
                        Toast.makeText(Login.this, volleyError.getMessage().toString(), Toast.LENGTH_LONG).show();

                    }
                });

        //Creating a Request Queue
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        //Adding request to the queue
        requestQueue.add(strReq);
    }

API-код


<?php
include("connection.php");
include("connect.php");
ini_set('error_reporting', E_STRICT);
$token=$_GET['token'];

$cat=$_GET['catt'];
if (!$DEVICE) {
if($token=="SHIK9306488")
{

if($cat==2)
{      

$m1['MenuName']="Attendance";
$m1['Type']="M";

$m2['MenuName']="Attendance Status";
$m2['Type']="A";
// Leave
$m3['MenuName']="Leave";
$m3['Type']="M";

$m4['MenuName']="Apply Leave";
$m4['Type']="A";

$m5['MenuName']="Leave Status";
$m5['Type']="A";
// Assignment
$m6['MenuName']="Assignment";
$m6['Type']="M";

$m7['MenuName']="Upload Assignment";
$m7['Type']="A";

$m8['MenuName']="Download Assignment";
$m8['Type']="A";

// Exit Option
$m9['MenuName']="Exit";
$m9['Type']="M";

$status['Status']="1";

$data1['getMenu']=array($m1,$m2);
$data2['getMenu']=array($m3,$m4,$m5);
$data3['getMenu']=array($m6,$m7,$m8);
$data4['getMenu']=array($m9);
$data5['Status']=array($status);

$main['Status']="1";
$main['data']=array($data1,$data2,$data3,$data4);


echo json_encode($main);

}
else if($cat==3)
{

$m1['MenuName']="Attendance";
$m1['Type']="M";

$m2['MenuName']="Mark Self Attendance";
$m2['Type']="A";

$m9['MenuName']="Mark Student Attendance";
$m9['Type']="A";

$m10['MenuName']="Attendance Status";
$m10['Type']="A";
// Leave
$m3['MenuName']="Leave";
$m3['Type']="M";

$m4['MenuName']="Apply Leave";
$m4['Type']="A";

$m5['MenuName']="Leave Status";
$m5['Type']="A";

$m11['MenuName']="Leave Approval";
$m11['Type']="A";
// assignment
$m6['MenuName']="Assignment";
$m6['Type']="M";

$m7['MenuName']="Upload Assignment";
$m7['Type']="A";

$m8['MenuName']="Download Assignment";
$m8['Type']="A";

//$m12['MenuName']="Assignment Approval";
//$m12['Type']="A";

// Exit Option
$m13['MenuName']="Exit";
$m13['Type']="M";

$status['Status']="1";

$data1['getMenu']=array($m1,$m2,$m9,$m10);
$data2['getMenu']=array($m3,$m4,$m5,$m11);
$data3['getMenu']=array($m6,$m7,$m8);
$data4['getMenu']=array($m13);
$data5['Status']=array($status);


$main['Status']="1";
$main['data']=array($data1,$data2,$data3,$data4);

echo json_encode($main);

}

else
{
 $data=array(response=>"Invalid_token",staus=>0);
 $data2=array($data);
 $myJson=json_encode($data2);
echo $myJson;
}
}
else
{
 $data=array(response=>"Invalid_token",status=>"0");
 $data2=array($data);
 $myJson=json_encode($data2);
    echo $myJson;

}
}
else
{
 echo $useragent;
 echo "hello";
}

?>


Api успешно работает с почтальоном и браузером, но залп на android не может поразить этот api.

Ответ на почту человека

{
    "Status": "1",
    "data": [
        {
            "getMenu": [
                {
                    "MenuName": "Attendance",
                    "Type": "M"
                },
                {
                    "MenuName": "Mark Self Attendance",
                    "Type": "A"
                },
                {
                    "MenuName": "Mark Student Attendance",
                    "Type": "A"
                },
                {
                    "MenuName": "Attendance Status",
                    "Type": "A"
                }
            ]
        },
        {
            "getMenu": [
                {
                    "MenuName": "Leave",
                    "Type": "M"
                },
                {
                    "MenuName": "Apply Leave",
                    "Type": "A"
                },
                {
                    "MenuName": "Leave Status",
                    "Type": "A"
                },
                {
                    "MenuName": "Leave Approval",
                    "Type": "A"
                }
            ]
        },
        {
            "getMenu": [
                {
                    "MenuName": "Assignment",
                    "Type": "M"
                },
                {
                    "MenuName": "Upload Assignment",
                    "Type": "A"
                },
                {
                    "MenuName": "Download Assignment",
                    "Type": "A"
                }
            ]
        },
        {
            "getMenu": [
                {
                    "MenuName": "Exit",
                    "Type": "M"
                }
            ]
        }
    ]
}

Теги:
httpresponse
android-volley

3 ответа

0

В вашем php-коде вы получаете значения $token и $cat используя GET запрос.

то есть: $_GET['something'];

Переменная выше всегда будет иметь значение null.because в вашем приложении для Android с использованием Request.Method.POST просто измените его на Request.Method.GET, также вы передаете parameter в URL, поэтому вам нужно использовать только запрос get.

0

проблема с переменной $DEVICE в Api Code. Вот почему возвращают useragent и hello keyword. Ваш API работает нормально на ПК, но не работает на мобильном браузере.

Проверьте скриншот

  • 0
    Я внес соответствующие изменения, теперь Api отправляет ответ через мобильный веб-браузер, но не может получить ответ от залпа.
0

изменить метод запроса с поста на Get

Ещё вопросы

Сообщество Overcoder
Наверх
Меню