通过Android Volley发送POST请求时发生服务器错误

时间:2020-02-15 20:47:30

标签: javascript java android-volley

有人可以帮我弄清楚我的代码发生了什么吗?我正在尝试通过 Android Volley 向我的 WEB服务器发送 POST 请求,但是显示服务器错误

这是我在 JAVA 中的Volley String请求代码。

private String API_URL = "http://220.158.204.63:8000/api/demo/";

// Volley String POST REQUEST
private void StringRequestVolley(final String message) {

    // Store Cookie from Server
    GetCookie getCookie = new GetCookie(this);
    getCookie.execute();

    // Get CSRF Token
    try {
        CSRFToken = getCookie.get();
    } catch (ExecutionException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    // String Request
    RequestQueue requestQueue = Volley.newRequestQueue(this);
    StringRequest stringRequest = new StringRequest(
            Request.Method.POST,
            API_URL,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Log.d("Response", response.toString());
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    error.printStackTrace();
                    Log.d("Error Response", error.toString());
                }
            }) {
        @Override
        protected Map<String, String> getParams() {
            Log.d("TAG", "PARAMS CALLED");
            Map<String, String> params = new HashMap<>();
            params.put("statement", message);
            return params;
        }

        @Override
        public Map<String, String> getHeaders() {
            Log.d("TAG", "HEADERS CALLED");
            Map<String, String> headers = new HashMap<>();
            headers.put("Content-Type", "application/json; charset=UTF-8");
            headers.put("X-CSRFToken", CSRFToken);
            return headers;
        }
    };
    requestQueue.add(stringRequest);
}

错误日志

E/Volley: [1177] BasicNetwork.performRequest: Unexpected response code 500 for http://220.158.204.63:8000/api/demo/
W/System.err: com.android.volley.ServerError
W/System.err: at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:205)
              at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:131)
              at com.android.volley.NetworkDispatcher.processRequest(NetworkDispatcher.java:111)
              at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:90)
D/Error Response: com.android.volley.ServerError

我搜索了解决方案,但找不到合适的解决方案。有人可以帮我解决一个问题,我在这里做错了。

我还要添加我的JavaScript文件

  function makeReq(APIUrl, statement, token ){
    $.ajax({
          type: 'POST',
          url: APIUrl,
          data: {
            statement: statement,
            csrfmiddlewaretoken: token,
          },
          success: function(gotIt,status){
           console.log(gotIt)
            var cmd = "";

          },
          error : function(){
            alert('Console');
          }
        })
  }

  $(document).ready(function(e){

      $("#train").click(function(e){
        e.preventDefault();
        var APIUrl = '/api/demo/';
        var token = 'foNHv0UEvauNTGgvYCx4f66NXsjTnUWGpepJHxlpLgOAbn8nrlrsyuUmOr7rSRnn';
        var statement = $("#statement").val();
        $("#statement").val("");
        makeReq(APIUrl,statement,token);

      });

    });

0 个答案:

没有答案
相关问题