Sin problema, mandame pm para el zip y te lo miro, es que así en un post es más difícil dever.
- - - Actualizado - - -
Ok ya lo pude reproducir, te comento tu código:
JAVA:
Insertar CODE, HTML o PHP:
@RequestMapping(value = "/index", method = RequestMethod.POST,
consumes="application/json",headers = "Accept=*/*")
@ResponseBody
//[COLOR=#FF0000] public <ObjtoJson> String Loadlogin_json( User user)throws IOException {[/COLOR]
//[B] mejor devuelve el objeto que un string, luego lo conviertes a string si quieres:[/B]
[COLOR=#00FF00] public ObjectNode Loadlogin_json( User user)throws IOException {[/COLOR]
ObjectMapper mapper = new ObjectMapper();
ObjectNode ObjtoJson = mapper.createObjectNode();
try {
ObjtoJson.put("name", user.getName());
ObjtoJson.put("pass", user.getPass());
//[B] sino devuelves la entidad de respuesta HTTP OK, pues no la crees.[/B]
//[COLOR=#FF0000]new ResponseEntity<ObjtoJson>(HttpStatus.OK);[/COLOR]
System.out.println(ObjtoJson.toString());
} catch (Exception e) {
System.out.println("Instrucciones a ejecutar cuando se produce un error");
}
//[COLOR=#FF0000]return ObjtoJson.toString();[/COLOR]
[COLOR=#00FF00]return ObjtoJson;[/COLOR]
}
Angular:
Insertar CODE, HTML o PHP:
app.factory('LoginService', ['$http','$q', function($http, $q){
//[B] agrega parentesis "(":[/B]
var self = ({
login: function(datos){
var dataObj = {
name : datos.usuario,
pass : datos.pass,
};
var d=$q.defer();
function genericSuccess (res) {
//[B] agrega resolve y elimina un .data[/B]
d.resolve(res.data);
//[B] agrega resolve y elimina un .data[/B]
//[COLOR=#FF0000]return res.data.data; // yes, really.[/COLOR]
return res.data; // yes, really.
}
var res= $http.post('savelogin_json', dataObj).then(function(success) {
//[B] comprueba datos: console.log('u: ' + success.data.name + ' x ' + success.data.pass);[/B]
return genericSuccess(success);
//[B] como te dije: controla errores:[/B]
//[COLOR=#FF0000] }).catch(function(err){}); [/COLOR]
[COLOR=#00FF00] }).catch(function(err){
d.reject('Error en POST ' + err);
});[/COLOR]
return d.promise;
}
});[B] //agrega cierra parentesis[/B]
return self;
}]);
Con esto debería de recibir la respuesta Angular correctamente, aun te queda desarrollar que haga algo coherente. Si quieres te paso el proyecto funcionando en zip.