galera, sou iniciante em programação. estou tentando consumir um webservice porém estou totalmente perdido. alguém poderia me dar um norte?
meu webservice está retornando isso e eu preciso obter o valor error.
{“message”:“false”,“error”:true}
abaixo tem um código
<html><head><title></title><scripttype="text/javascript"src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script></head><body><form><inputid="go"type="submit"value="Diga ola ao REST"onclick="testeServidor()"/></form><scripttype="text/javascript">
functiontesteServidor(){
varresultado;
$.ajax({
type:"POST",
url:"127.0.0.1:8080/Financeiro/testeWebservice.rule?sys=FIN",
dataType:"json",
data:{
},error:function(){
alert('Houveumproblemadecomunicacao');
}
}).done(function(dados){
alert(data.error);
});
}
</script></body></html>
Há uma incoerência nessa tua afirmação. Iniciante em programação não sai tentando consumir web service. Ou é iniciante e está pulando etapas, ou não é iniciante.
É um web service REST ou SOAP? Qual o tipo de retorno deste web service?
Pelo retorno, suponho que seja REST.
Você já sabe JSON? Se não, sugiro dar uma olhada
O parametro do seu done chama dados, mas você esta fazendo data.error, troque o data por dados, ou troque o parametro para data
C
cleitonti
não entendi muito bem.
o retorno que eu estou esperando do meu json é isso…
{“message”:“false”,“error”:true}
M
Mike
A função done recebe uma outra função que recebe um objeto chamado dados como parâmetro, esse dados é o retorno do json, mas perceba que no corpo dessa função você tenta acessar a variável error de dentro de data, mas a variável correta é dados
C
cleitonti
continua sem funcionar
C
cleitonti
fiz umas mudanças porém no console do navegador está retornando o seguinte erro…
Access to XMLHttpRequest at ‘http://127.0.0.1:8049/Financeiro/testeWebservice.rule?sys=FIN’ from origin ‘null’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
abaixo código desenvolvido…
<html><head><title></title><scripttype="text/javascript"src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script></head><body><form><inputid="go"type="button"value="Diga ola ao REST"/></form><scripttype="text/javascript">
$(document).ready(function(){
$('#go').click(function()
{
$.ajax({
url:"http://localhost:8049/Financeiro/testeWebservice.rule?sys=FIN",
dataType:'json'
}).done(function(data){
alert(data.message);
});
})
});
</script></body></html>
J
Jonathan_Medeiros
Na sua API backend você tem que habilitar o CORS para que o frontend consiga realizar as requisições.
C
cleitonti
galera, fiz mais algumas alterações. porém sempre está retornando undefined
sendo que eu preciso obter apenas a message
{“message”:“false”,“error”:true}
<html><head><title></title><scripttype="text/javascript"src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script></head><body><form><inputid="go"type="submit"value="Diga ola ao REST"onclick="testeServidor()"/><inputtype="hidden"name="sys"value="FIN"></form><scripttype="text/javascript">
functiontesteServidor(){
varresultado;
$.ajax({
type:"POST",
url:"127.0.0.1:8080/Financeiro/testeWebservice.rule?",
dataType:"json",
data:{
},error:function(dados){
alert(dados.message);
}
}).done(function(dados){
alert(data.dados);
});
}
</script></body></html>
C
Solucao aceita
Cleiton_Conceicao
é uma aplicação java?
caso sim vc precisa configurar o CORS no tomcat…