I am trying to communicate Android Client (using volley ) with express (node.js) server (Server is also using mongoose). Android Code for request is
String url = "http://ift.tt/1GIlEf4";
CustomRequest myRequest = new CustomRequest(Request.Method.POST, url, params, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.i("ApP CreateActivity","Response Secussfully" );
Log.i("ApP CreateActivity", "HTTP REPONCE RECIEVED " + response.toString());
try {
JSONObject myCreditentials = response.getJSONObject(0);
Log.i("ApP CreateActivity", "SECUSSFUL LOGIN");
}
} catch (JSONException e) {
e.printStackTrace();
Log.i("ApP CreateActivity", "JSON EXCEPTION");
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.i("ApP CreateActivity", "Error While Fetch Response --> network Error");
}
});
myRequest.setTag("createtask");
queue.add(myRequest);
Now On the server side there are two different codes.
version-1
router.post('/tasks/', function(req, res, next) {
Task.find(function (err, todos) {
if (err) return next(err);
console.log('------------------------------');
console.log('Find Works');
console.log('------------------------------');
res.json(todos);
});
version-2
router.post('/tasks/', function(req, res, next) {
var myTask = new Task();
// initialization --> myTask...
myTask.save( function (err, todos) {
if (err) return next(err);
res.json( todos );
console.log('------------------------------');
console.log('Create WOrks');
console.log('------------------------------');
});
Now problem is Android --> version-1(find task) WORKS FINE. i.e. Android logs show "SUCCESSFUL LOGIN" Android --> version-2(Create Task) gives Error i.e. onErrorResponce gets called . Logs show "Error While Fetch Responce".
Server output version-1 : Fetch Works . (expected output). Server output version-2 : Create Works. (Data is added into db correctly).
Aucun commentaire:
Enregistrer un commentaire