Estou tentando inserir um usuário num grupo.
Eu não tenho um número para identificar o grupo (segundo a página de documentação, sugere-se um número), mas um nome ‘avalestsp_admins’.
Tentei com o seguinte código sob um evento de ‘click’ numa Widget (O usuário tem a matrícula ‘afer’):
let arrayNomes=['afer'];
jQuery.ajax({
method: 'POST',
url: '/api/public/2.0/groups/addUsers/avalestsp_admins',
data: arrayNomes,
success: function(data) {
alert(data);
},
error: function(err) {
alert("ERRO: "+err);
}
});//ajax
Mas vem um erro, que diz Object Object.
Troque o “alert(err)” por um console.log(err), vai facilitar para vc ver o erro retornado.
@everton , não ajudou muito. O console mostra
responseText: “{“code”:“NotSupportedException”,“message”:“NotSupportedException”,“detailedMessage”:“NotSupportedException”,“helpUrl”:null,“details”:[]}”
Fiz um teste pelo console do navegador com o código abaixo, retornou normal, faça um testa aí:
fetch('/api/public/2.0/groups/addUsers/avalestsp_admins', {
method: 'POST',
headers: {"Content-type": "application/json;charset=UTF-8"},
body: JSON.stringify(['afer'])
})
.then(response => response.json())
.then(json => console.log(json))
.catch(err => console.error(err));
2 curtidas
everton:
fetch('/api/public/2.0/groups/addUsers/avalestsp_admins', {
method: 'POST',
headers: {"Content-type": "application/json;charset=UTF-8"},
body: JSON.stringify(['afer'])
})
.then(response => response.json())
.then(json => console.log(json))
.catch(err => console.err(err));
Funcionou, @everton . Muito obrigado.
@everton , deixa eu te perguntar uma coisa a mais, por favor. A linha
.then(json => console.log(json))
está retornando ‘undefined’. Deveria retornar com o quê?
Segundo a documentação da API deveria retornar um JSON conforme baixo:
{
content: null
message: {
message: "Usuários adicionados com sucesso ao grupo 99."
detail: "Usuários adicionados com sucesso ao grupo 99."
type: "INFO"
}
}
Mautresim:
let arrayNomes=['afer'];
jQuery.ajax({
method: 'POST',
url: '/api/public/2.0/groups/addUsers/avalestsp_admins',
data: arrayNomes,
success: function(data) {
alert(data);
},
error: function(err) {
alert("ERRO: "+err);
}
});//ajax
Acho que o seu código anterior deve funcionar assim:
let arrayNomes=['afer'];
jQuery.ajax({
method: 'POST',
url: '/api/public/2.0/groups/addUsers/avalestsp_admins',
data: JSON.stringify(arrayNomes),
success: function(data) {
alert(data);
},
error: function(err) {
alert("ERRO: "+err);
}
});//ajax
Esquisito, porque insere no grupo, mas a variável ‘json’ retorna undefined.
No console do navegador também está assim?
No teste que eu fiz retornou o json no padrão da API.
Está no console como ‘undefined’.
O primeiro .then() usa o método .json() para converter a resposta, vc poderia colocar um console.log nele para ver como está vindo a resposta do fluig.
Exemplo:
.then(response => {
console.log(response);
response.json();
})
Coloque um ponto de parada no “console.log” e dê uma analisada na resposta.
Vou fazer isto no fim de semana, @everton . Agora fiquei enrolado. Muito obrigado pela ajuda.