Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Cors não funciona rodando no celular

function enviarContato() {

    exibirModalEnviando();

    var numSegundosEntreModais = 0.8;
    var numSegundos = 1000 * numSegundosEntreModais;

    var SUCESSO = 1;

    $.ajax({
        url : 'http://meusite.com/v1/contato/index.php',
        type: 'POST',
        data: $('#formContato').serialize(),
        dataType: 'json',
        success: function(data) {
            if (data.status) {

                ocultarModalEnviando();

                $('#formContato')[0].reset();

                // Exibir retorno depois de [numSegundos] segundo(s)
                setTimeout(function() {
                    showModalResult('<h3>Obrigado pelo contato !</h3><h5>Responderemos o mais breve possí­vel.</h5>');
                }, numSegundos);

            } else {

                var errosRetornados = '';

                for (var i = 0; i < data.erros.length; i++) {
                    errosRetornados += data.erros[i];
                }
                ocultarModalEnviando();

                // Exibir retorno depois de [numSegundos] segundo(s)
                setTimeout(function() {
                    showModalResult("<h3 style='color: red'>Erros:</h3>" + errosRetornados)
                }, numSegundos);

            }
        },
        error: function(a, data, e) {
            // Aqui é adicionado o comportamento para verificar
            // um possí­vel erro do lado servidor.
            processarErroServidor(a, data, e);
        }
    });

}

No PHP eu adicionei o header na primeira linha do meu código

header("Access-Control-Allow-Origin: *");

Não funcionou, e então eu adicionei o arquivo .htaccess (também não funcionou) com o conteúdo

# with AJAX withCredentials=false (cookies NOT sent)
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Credentials 'true'
#Header always set Access-Control-Allow-Methods "POST, GET, PUT, OPTIONS, PATCH, DELETE" 
Header always set Access-Control-Allow-Methods "POST" 
Header always set Access-Control-Allow-Headers "X-Requested-With,X-Accept-Charset,X-Accept,Content-Type"
RewriteEngine On                  
RewriteCond %{REQUEST_METHOD} OPTIONS 
RewriteRule ^(.*)$ $1 [R=200,L,E=HTTP_ORIGIN:%{HTTP:ORIGIN}]]

Adicionei a tag abaixo no meu config.xml

<access origin="*" />

Desde já agradeço a ajuda

2 respostas

Faltava o plugin

 phonegap plugin add cordova-plugin-whitelist --save

Instalei e o cors funcionou.

Obrigado pessoal!!!

solução!

Post Fechado!