Ir para o conteúdo
Helio13

Obter id de uma resposta post

Mensagens Recomendadas

Helio13

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??

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Helio13

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

Editado por Helio13

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Helio13

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...

Editado por Helio13

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jsWizard

... 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é!

Editado por jsWizard

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Helio13

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
brunoais
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);

Editado por 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%.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.