我使用方法POST和Volley库。一切正常,但没有显示吐司“成功”。
下面是我用服务器成功更新内容的代码。
String uri = "http://192.168.0.103:3000/api/SampleParticipant";
StringRequest request = new StringRequest(Request.Method.POST, uri,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(getApplicationContext(), "Successful" , Toast.LENGTH_SHORT).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "Error: " + error, Toast.LENGTH_SHORT).show();
}
})
{//Body
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("participantId", editText2.getText().toString());
params.put("name", editText3.getText().toString());
return params;
}
};
// Create Volley
RequestQueue queue = Volley.newRequestQueue(this);
queue.add(request);
但是在android studio这样的节目中。
D/Volley: [1124] BasicNetwork.logSlowRequests: HTTP response for request=<[ ] http://192.168.0.103:3000/api/SampleParticipant 0x85adf657 NORMAL 1> [lifetime=5381], [size=704], [rc=500], [retryCount=1]
E/Volley: [1124] BasicNetwork.performRequest: Unexpected response code 500 for http://192.168.0.103:3000/api/SampleParticipant
D/EGL_emulation: eglMakeCurrent: 0xa3f85420: ver 2 0 (tinfo 0xa3f83350)
D/EGL_emulation: eglMakeCurrent: 0xa3f85420: ver 2 0 (tinfo 0xa3f83350)
答案 0 :(得分:3)
这是来自服务器端的错误,与volley无关
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
您可以像这样处理500错误
@Override
public void onResponse(Response<YourModel> response) {
if (response.code() == 200) {
// Do awesome stuff
} else if(response.code() == 500){
Toast.makeText(this, "Error: internal server error", Toast.LENGTH_SHORT).show();
}
}