Javascript 通过Android Volley发送POST请求时发生服务器错误
有人能帮我找出我的代码出了什么问题吗?我正试图通过Android-Volley向我的WEB服务器发送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
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代码只是指出,在处理您的请求时出现了服务器端错误。您有权访问服务器日志吗?这将使它更容易。