2017-04-20 65 views
1

我在Android Studio中有這樣的登錄Java代碼:BasicNetwork.performRequest:意外的響應代碼500

private void loginUser(){ 
     pd = ProgressDialog.show(LoginActivity.this, "", "Loading..."); 
     StringRequest stringRequest = new StringRequest(Request.Method.POST, LOGIN_URL, 
       new Response.Listener<String>() { 
        @Override 
        public void onResponse(String response) { 
         try { 
          JSONObject jsonResponse = new JSONObject(response); 
          System.out.println("JSON RESPONSE: " + jsonResponse.toString()); 
          boolean success = jsonResponse.getBoolean("success"); 
          if (success) { 
           launchHomeScreen(); 
           pd.dismiss(); 
           Toast.makeText(LoginActivity.this,"Welcome back " + username,Toast.LENGTH_LONG).show(); 

           SharedPreferences sharedPref = getSharedPreferences("loginDatas", Context.MODE_PRIVATE); 

           SharedPreferences.Editor editor = sharedPref.edit(); 
           editor.putString("username", username); 
           editor.putString("password", password); 
           editor.apply(); 
          } 
          else { 
           loginButton.setBackgroundColor(0x73000000); 
           Toast.makeText(LoginActivity.this,"Wrong Username or Password!",Toast.LENGTH_LONG).show(); 
           pd.dismiss(); 
          } 
         } 
         catch (JSONException e) { 
          loginButton.setBackgroundColor(0x73000000); 
          e.printStackTrace(); 
          pd.dismiss(); 
          Toast.makeText(LoginActivity.this,response,Toast.LENGTH_LONG).show(); 
         } 
        } 
       }, 
       new Response.ErrorListener() { 
        @Override 
        public void onErrorResponse(VolleyError error) { 
         loginButton.setBackgroundColor(0x73000000); 
         pd.dismiss(); 
         System.out.println("Error: " + error); 
        } 
       }){ 
      @Override 
      protected Map<String,String> getParams(){ 
       Map<String,String> params = new HashMap<>(); 
       params.put(KEY_USERNAME,username); 
       params.put(KEY_PASSWORD,password); 
       return params; 
      } 

     }; 
     RequestQueue requestQueue = Volley.newRequestQueue(this); 
     requestQueue.add(stringRequest); 
    } 

但每次我在我的Android登錄控制檯收到此錯誤:

I tried so many things but everytime I try it, I get back: 04-20 07:44:18.463 3326-2366/com.lolol.gg E/Volley: [294] BasicNetwork.performRequest: Unexpected response code 500 for http://lollipop.xyz/login.php 
    04-20 07:44:18.514 3326-3326/com.lolol.ggI/System.out: Error: com.android.volley.ServerError 

有任何人的想法,如何解決我的問題?因爲我嘗試了很多東西......它無論如何不會工作...... 我所厭煩的事情是: 我已經測試了服務器代碼,它經常工作。當我嘗試與我的localwampserver的url的javacode它的作品....當我嘗試與我的hostinger服務器的網址它沒有工作...在2服務器是相同的代碼...

+0

給我的網址,而params – pradeep

+0

@pradeep URL是100%正確的,在它的代碼工作至100%......但我不知道怎麼給你PARAMS –

+0

你加入這個您的Manifest文件中的權限'<使用權限android:name =「android.permission.INTERNET」/>' – Naz141

回答

0

獲取500的HTTP響應代碼意味着您的應用成功聯繫了服務器,但服務器本身遇到意外錯誤。

聯繫您的後端維護人員,看看服務器爲什麼行爲不端,這很可能不是您可以在Android代碼中修復的問題。

+0

我已經測試過服務器代碼,它經常工作。當我嘗試與我的localwampserver的網址代碼它的作品....當我嘗試與我的hostinger服務器的網址它沒有工作...在2臺服務器是相同的代碼... –

0

看起來像一個服務器端的錯誤,首先確保你的服務工作(使用Postman的例子或任何休息客戶端)。

如果問題仍然存在,你可以嘗試使用Retrofit2而不是排球(我個人比較喜歡)

0

我已經使用stringrequest擺脫服務器的響應,並通過您的PARAMS。

StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() { 
     @Override 
     public void onResponse(String response) { 
      try {JSONObject jsonObject = new JSONObject(response); 
      } catch (JSONException ignored) { 
      } 
     } 
    }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError volleyError) { 
      if (volleyError instanceof TimeoutError) { 
      } 
     } 
    }) { 
     @Override 
     public Map<String, String> getParams() throws AuthFailureError { 
      HashMap<String, String> headers = new HashMap<>(); 
      headers.put("name", "Droider"); 
      return headers; 
     } 

     @Override 
     public Priority getPriority() { 
      return Priority.IMMEDIATE; 
     } 
    }; 
    ApplicationController.getInstance().addToRequestQueue(stringRequest); 
相關問題