none
Post com $.ajax no aspnet RRS feed

  • Pergunta

  • Boa noite!

           Fiz um post com ajax enviando os dados no formato json para uma API. o script é este ->

      
    			        try {
    			            $.ajax({
    			                type: "POST",
    			                url: "https://api-sandbox.gatewaylocaweb.com.br/v1/transacao",
    			                data: defaultParameters,
    			                dataType: "json",			                
    			            });
    			        } catch (alert) { alert('Error')};

    Aonde em defaultParameters eu passo todo o conteudo em formato json. OK, quando vou dar o post aparece este erro:

    XMLHttpRequest cannot load https://api-sandbox.gatewaylocaweb.com.br/v1/transacao. Origin http://ohyes.com.br is not allowed by Access-Control-Allow-Origin.

    Alguém sabe informar o motivo? Abraço!


    Douglas Bertelli

    quinta-feira, 8 de novembro de 2012 20:09

Todas as Respostas

  • Isso acontece porque requisições entre diferentes dominios é bloqueado por padrão.

    Para resolver isso o site que está recebendo a requisição deve adicionar um item ao cabeçalho http que é o Access-Control-Allow-Origin.

    https://developer.mozilla.org/en-US/docs/HTTP_access_control


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    quinta-feira, 8 de novembro de 2012 20:41
  • Opa Murilo, blz?

     Mas o site q esta recebendo não seria o deles? eu estou enviando os dados. Eu teria que inserir algo tb?


    Douglas Bertelli

    sexta-feira, 9 de novembro de 2012 00:05
  • Você não, somente eles deveriam.

    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    sexta-feira, 9 de novembro de 2012 00:22
  • Mas mr.. trata-se da Locaweb.. quem sou eu? hauhauhau

    E outra, todas as outras empresas fazem este post de pagamento, só eu que não consigo =(


    Douglas Bertelli

    sexta-feira, 9 de novembro de 2012 00:37
  • Você está fazendo este testa em localhost?

    Se sim, você não vai conseguir.. somente em um dominio mesmo.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    sexta-feira, 9 de novembro de 2012 00:50
  • Não então eu estava fazendo, aí coloquei no meu dominio - "XMLHttpRequest cannot load https://api-sandbox.gatewaylocaweb.com.br/v1/transacao. Origin http://ohyes.com.br is not allowed by Access-Control-Allow-Origin."

    q eh o ohyes.com.br

    Mesmo assim não funciona cara =\


    Douglas Bertelli

    sexta-feira, 9 de novembro de 2012 11:54
  • veja

    http://stackoverflow.com/questions/9327218/access-control-allow-origin-not-allowed-by


    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    sexta-feira, 9 de novembro de 2012 12:38
    Moderador
  • Opa Seilor.. ja fiz o q estão nos sites e nada =\

     Inseri isto 

        <%    
            Response.AddHeader("Access-Control-Allow-Origin", "http://www.ohyes.com.br");
            Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
            Response.AddHeader("Access-Control-Allow-Headers", "X-Requested-With");
            Response.AddHeader("Access-Control-Max-Age", "86400");
         %>
    acima da tag <html mas tb não funcionou Mr. está tenso resolver isto.

    Douglas Bertelli

    sexta-feira, 9 de novembro de 2012 13:01
  • Douglas, isso é o outro servidor que precisa fazer!

    Não é você.. Melhor você entrar em contato com a locaweb perguntando sobre isso.


    http://www.linkedin.com/pub/murilo-kunze/44/191/455

    sexta-feira, 9 de novembro de 2012 13:05
  • Ja falou com eles? Eles dizem que o problema é meu, e que programação eles não podem dar suporte mesmo eu falando que não é comigo =(

    Douglas Bertelli

    sexta-feira, 9 de novembro de 2012 13:06