1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

problemas ao acessar rest com jquery(duvida de jquery)

boa noite,

fiz um post parecido, para o mesmo problema, mas quero aprender a solucuinar tanto pelo java quanto pelo javascript, então fiz um post pra cada duvida.

estou estudando webservice, jax-rs e fiz uma aplicação com um ws de teste, dentro da própria aplicação eu consigo acessar normalmente, mas fora dela eu recebo o seguinte retorno:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

pesquisei e vi que isso ocorre por ser um acesso crossdomain, para solucionar estou usando o "jsonp" e de fato ele esta fazendo o acesso e estou tendo esse retorno:

{"lista_produtos":[{"preco":4000.0,"id":6237,"nome":"Videogame 4","quantidade":1},{"preco":60.0,"id":3467,"nome":"Jogo de esporte","quantidade":2}],"rua":"Rua Vergueiro 3185, 8 andar","cidade":"Sao Paulo","id":1}

formatado:

{
    "lista_produtos": [{
        "preco": 4000.0,
        "id": 6237,
        "nome": "Videogame 4",
        "quantidade": 1
    }, {
        "preco": 60.0,
        "id": 3467,
        "nome": "Jogo de esporte",
        "quantidade": 2
    }],
    "rua": "Rua Vergueiro 3185, 8 andar",
    "cidade": "Sao Paulo",
    "id": 1
}

porem ao executar o jquery o console exibe o erro:

código jquery:

$(document).ready(function() {
            $.ajax({
                url: "http://localhost:8080/TesteRest/ws/carrinhos/1",
                dataType: 'jsonp',
                crossDomain: true,
                type: 'GET'                
            }).then(function(data) {
                var atributos = {id: 'minhaDiv',class: 'minhaClasse',html: "data"};
                $('<li>', atributos).appendTo('#corpo');
            });
        });

erro no console:

Uncaught SyntaxError: Unexpected token :

imaginei que o json estivesse errado, apesar de achar difícil pois eu usei o Gson pra criar o mesmo, testei ele em um validador e o mesmo passou no teste.

não sei se perdi algum detalhe em minha pesquisa/estudo.

alguém pode me ajudar?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags jquery json jsonp rest webservices ou faça a sua própria pergunta.