Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过Android Volley发送POST请求时发生服务器错误_Javascript_Java_Android Volley - Fatal编程技术网

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

Javascript 通过Android Volley发送POST请求时发生服务器错误,javascript,java,android-volley,Javascript,Java,Android Volley,有人能帮我找出我的代码出了什么问题吗?我正试图通过Android-Volley向我的WEB服务器发送POST请求,但它显示了服务器错误 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 Ser

有人能帮我找出我的代码出了什么问题吗?我正试图通过Android-Volley向我的WEB服务器发送POST请求,但它显示了服务器错误

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);
}
这是我在JAVA中的截取字符串请求代码

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);
}
我寻找解决办法,但找不到合适的。有人能帮我解决问题吗,我在这里做错了什么

我还添加了我的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);

      });

    });

这里很难确定问题所在,因为500个HTTP代码只是指出,在处理您的请求时出现了服务器端错误。您有权访问服务器日志吗?这将使它变得更容易。这里很难确定问题所在,因为500个HTTP代码只是指出,在处理您的请求时出现了服务器端错误。您有权访问服务器日志吗?这将使它更容易。