有人可以帮我弄清楚我的代码发生了什么吗?我正在尝试通过 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);
});
});