entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Como romper el cross domain en Heroku por PHP

Hola, he creado una api para hacer coneccion con mi base de datos y por ahora lo hago por JSONP sin romper el crossdomain. Quisiera romperlo para poder hacer POST que es mas seguro que el GET, tambien quiero pasar headers personalizados. He probado haciendolo con nodejs y me funciona lo del crossdomain, pero lo quiero hacer con php ya que la api que hecho esta en PHP. Lo he intentado poniendo todos estos headers al PHP y devolviendo el custom header como respuesta, pero no funciona:

<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
header("Access-Control-Allow-Headers: *");
header("Access-Control-Request-Headers: X-Requested-With");
header("Access-Control-Allow-Credentials: true");
header('Content-Type: application/json');

$array = array('mensaje' => $_SERVER['HTTP_X_REQUESTED_WITH']);
echo json_encode($array);
?>

Aqui el script de prueba:

  <script src="http://code.jquery.com/jquery-2.1.0.js"></script>
    <script>
    $.ajax({
       url: 'https://m2s.herokuapp.com/post/',
       method: 'POST',
       headers: {
          'X-Requested-With': 'Example 52362352373223',
       },
       success: function(result) {
          console.log(result);
        }
    });
    </script>

1 Respuesta

1voto

carlossevi Puntos63580

No se si será el motivo pero hay un error en el script de prueba, sobra una coma en la definición de los headers:

headers: {
    'X-Requested-With': 'Example 52362352373223' ,
}

debería ser:

headers: {
    'X-Requested-With': 'Example 52362352373223'
}

Comprueba que no es ese el motivo de que no te esté respondiendo nada.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta