4
respostas

Function retorna sempre erro

Queria fazer esta function em jquery, mas não consegui

<script>
             function acrescentarDiminuir(id, tipo) {
                 var endereco = "/nota-fiscal-servico-web-1.0.0/";
                 var mensagem = '<h1><img src="' + endereco
                 + 'resources/img/carregando.gif" /> Aguarde um momento...</h1>';
                 $.blockUI({
                     message : mensagem,
                 });
                 $.ajax({
                     type : "GET",
                     url : endereco + "/perguntasRespostasIncremento/" + id + "/"
                             + tipo,
                     contentType : "application/json; charset=utf-8",
                     dataType : "json",
                     async : true,
                     success : function(url, textStatus, xhr) {
                         $.unblockUI(); // Desbloquear UI
                         if (xhr.status !== 204) {
                             var obj = JSON.parse(url);
                         }
                     },
                     error : function(request, status, erro) {
                         $.unblockUI(); // Desbloquear UI
                         toastr.warning(erro, "Atenção ...");
                         habilitarNaoHabilitarCamposEndereco("none");
                     }
                 });
             }
         </script>

Mas a function acima, chama um metodo em java, /perguntasRespostasIncremento/, passando os parametros corretamente. Executa o que tem que ser feito no servidor, e retorna sem erros.

Mas no console do navegador ele sempre mostra o erro abaixo.

SyntaxError: Unexpected token R in JSON at position 0
        at parse (<anonymous>)
        at Nb (http://localhost:8080/nota-fiscal-servico-web-1.0.0/resources/js/jquery-3.1.1.min.js:4:10360)
        at A (http://localhost:8080/nota-fiscal-servico-web-1.0.0/resources/js/jquery-3.1.1.min.js:4:13887)
        at XMLHttpRequest.<anonymous> (http://localhost:8080/nota-fiscal-servico-web-1.0.0/resources/js/jquery-3.1.1.min.js:4:16491)

O que pode ser ?

Como transforma uma function em javascript para jquery ?

4 respostas

Hola Guilherme,

Esse erro é comum quando o que está sendo retornado não é do tipo esperado.

Tente verificar exatamente o que está chegando de informações no front-end.

O erro foi resolvido. Ele não estava retornando um JSON. Mas foi ajustado.

Mas como fazer esta function, que está em javascript em jquery ?

Você poderia trocar a função $.ajax para a função própria do jQuery, a $.get. Ela também se usa do ajax, mas tem uma estrutura própria.

Você pode ver maiores detalhes na documentação oficial do jQuery: jQuery get.