Jak obejść polityke CORS

0

Witam. Mam problem z polityką CORS, otóż dostaje taki błąd:
screenshot-20190618202232.png

Używam najnowszego xammpa i phonegap w wersji 0.4.5

Mój php wygląda tak:

<?php
  //header('Access-Control-Allow-Origin: http://localhost:3000' );
  header('Access-Control-Allow-Origin: *' );
  header('Content-type: application/json');
  header('Accept: application/json');
  
  $data = $_POST;
  echo json_encode($data);
?>

a js tak:

          response.setHeader("Access-Control-Allow-Origin", "*");
          response.setHeader("Access-Control-Allow-Credentials", "true");
          response.setHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
          response.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");
      

        $$('#json_btn').on('click', function () {
          var url = "http://localhost/tests/odbierajka_jsonow/index.php";
          var data = {
            'clients': [
              {'id': 123123, 'time': 0},
              {'id': 123, 'time': 0},
              {'id': 123123, 'time': 0},
              {'id': 123, 'time': 0}
            ],
            'instructor_id': 123123};
            console.log(data);

           // var data = { City: 'Moscow', Age: 25 };
          $.ajax({
            dataType: "json",
            url: url,
            type: "POST",
            contentType: 'application/json; charset=utf-8',
            
            data: JSON.stringify(data),
            success: function(re){
              console.log("Dziala");
              console.log(re);
            },
            error: function(er, status){
              console.log("error"+JSON.stringify(er)+status);
            }
          });
        });
0

Wielkość liter Content-type oraz Content-Type?

0
<?php
  //header('Access-Control-Allow-Origin: http://localhost:3000' );
  header('Access-Control-Allow-Origin: *' );
  header('Content-Type: application/json');
  header('Accept: application/json');
  
  $data = $_POST;
  echo json_encode($data);
 // echo "test";
?>

niestety nie

zapomniałem dodać, że jest problem z response
screenshot-20190618204745.png

4

Musisz ten nagłówek wysłać z serwera:

header('Access-Control-Allow-Headers: content-type' );

Tutaj chodzi o content-type w żądaniu, nie zwrotce.

0

@Patryk27: Jak zwykle nie zawodzisz. Działa, dzięki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1