Helio13 Posted May 10, 2013 at 03:29 PM Report #506733 Posted May 10, 2013 at 03:29 PM Oi. Estou a inserir dados através de rest, e quando faço o meu post, ele ao mesmo tempo retorna-me uma resposta com os dados que inseri mas já com o id do registo... Como consigo obter esse id? Eu quando faço o post, recebo uma resposta com um json assim: {"IdGenre": [{"GenreType": "Drama", "id": "518cf9cf8774a718901cc219", "resource_uri": "/test/api/v1/Genre/518cf9cf8774a718901cc219"}], "MovieActor": [], "MovieCover": "<GridFSProxy: None>", "MovieDuration": "44", "MovieObservations": "ds", "MovieRating": "4", "MovieTitle": "aaa", "MovieTitlePT": "aaa", "MovieYear": 4444, "Moviesynopsis": null, "id": "518d123d8774a712f40d5485", "resource_uri": "/test/api/v1/Movie/518d123d8774a712f40d5485"} Como posso obter o id??
HappyHippyHippo Posted May 10, 2013 at 03:38 PM Report #506736 Posted May 10, 2013 at 03:38 PM json.IdGenre[0].id talvez ... se o id for o campo "id" ... se o objecto com o json se chamar "json" ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Helio13 Posted May 10, 2013 at 04:02 PM Author Report #506738 Posted May 10, 2013 at 04:02 PM (edited) Sim o id é o campo "id" mas aquele que está no fim do json. O que queres dizer com o objecto com o json se chamar "json"?? No post envio assim: $scope.data = $scope.movies.save({...}) Eu estava a tentar assim: var response = JSON.stringify("id"); alert(response.id); Mas ele dá-me undefined no alert Edited May 10, 2013 at 04:03 PM by Helio13
HappyHippyHippo Posted May 10, 2013 at 04:16 PM Report #506739 Posted May 10, 2013 at 04:16 PM nota : eu nunca usei a biblioteca que está a usar. todo o que estou a dizer são simples bitaites ... se a resposta se encontra gravada em $scope.data: $scope.data = $scope.movies.save({...}); e a resposta já se encontra em JSON, então bastaria ter: $scope.data = $scope.movies.save({...}); alert($scope.data.id); IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Helio13 Posted May 10, 2013 at 04:21 PM Author Report #506740 Posted May 10, 2013 at 04:21 PM Hum... Eu quando faço alert($scope.data.id); o que me aparece no alert é undefined Não estou a perceber porque...
HappyHippyHippo Posted May 10, 2013 at 04:24 PM Report #506741 Posted May 10, 2013 at 04:24 PM tira o ".id" e diz o que aparece IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Helio13 Posted May 10, 2013 at 04:25 PM Author Report #506742 Posted May 10, 2013 at 04:25 PM (edited) Aparece isto: [object Object] Por exemplo, se eu fizer isto: alert(JSON.stringify($scope.data)); Ele mostra me um json com os dados que fiz post, e não o json que o resposta de devolve... Edited May 10, 2013 at 05:08 PM by Helio13
jsWizard Posted May 10, 2013 at 05:38 PM Report #506750 Posted May 10, 2013 at 05:38 PM (edited) ... se var responseObj = {"IdGenre": [{"GenreType": "Drama", "id": "518cf9cf8774a718901cc219", .......... alert(responseObj.IdGenre[0].id); e aí está o id, mas estou a assumir neste meu exemplo que o object JSON que estás a receber é atribuído à variável responseObj. Inté! Edited May 10, 2013 at 05:38 PM by jsWizard
Helio13 Posted May 10, 2013 at 05:44 PM Author Report #506754 Posted May 10, 2013 at 05:44 PM Eu assim como disseste sei...mas a questão é que eu faço o seguinte para fazer o post: $scope.data = $scope.movies.save({..}) E envio os dados, e quando envio, depois ele devolve me automaticamente aquele json com os dados que foram inseridos e o id desse registo. No firebug do meu post, no postar estão os dados que enviei, e na resposta está o json que mostrei... Mas não sei como aceder ao json para obter o id, não sei se ele fica guardado no $scope.data ou não
HappyHippyHippo Posted May 10, 2013 at 07:45 PM Report #506771 Posted May 10, 2013 at 07:45 PM usa o firebug para saber dos dados no objecto $scope.data (usa breakpoints) IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Helio13 Posted May 10, 2013 at 07:50 PM Author Report #506772 Posted May 10, 2013 at 07:50 PM Obrigado, pela ajuda. Já consegui resolver o problema. Tinha que usar callback, para aceder à resposta.
brunoais Posted May 10, 2013 at 08:47 PM Report #506779 Posted May 10, 2013 at 08:47 PM (edited) var obj = JSON.parse({"IdGenre": [{"GenreType": "Drama", "id": "518cf9cf8774a718901cc219", "resource_uri": "/test/api/v1/Genre/518cf9cf8774a718901cc219"}], ..., "resource_uri": "/test/api/v1/Movie/518d123d8774a712f40d5485"}) alert(obj.IdGenre[0].id); Edited May 10, 2013 at 08:47 PM by brunoais "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now