복붙노트

[JQUERY] CORS 작동하지 PHP

JQUERY

CORS 작동하지 PHP

해결법


  1. 1.마지막으로, 나는 나 자신이 문제가 질문에 설명 된 해결했다. 내가 헤더에 액세스 구현하는 코드가 올바르지 않습니다.

    마지막으로, 나는 나 자신이 문제가 질문에 설명 된 해결했다. 내가 헤더에 액세스 구현하는 코드가 올바르지 않습니다.

    아래 언급 된 2 개 개의 라인 코드, 주어 졌을 때, 작동하지 않았다 :

    <?php
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
    ?>
    

    그러나 CORS 요청을 처리하는 것은 적절 더 포함 태드입니다. 여기에 더 완벽하게 대응하는 기능입니다. 업데이트 된 코드는 이것이다 :

     <?php
        // Allow from any origin
        if (isset($_SERVER['HTTP_ORIGIN'])) {
            header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
            header('Access-Control-Allow-Credentials: true');
            header('Access-Control-Max-Age: 86400');    // cache for 1 day
        }
    
        // Access-Control headers are received during OPTIONS requests
        if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    
            if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
                header("Access-Control-Allow-Methods: GET, POST, OPTIONS");         
    
            if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
                header("Access-Control-Allow-Headers:        {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
    
            exit(0);
        }
    
        echo "You have CORS!";
    ?>
    

    나는 다른 게시물에서 발견 이 일을 ....


  2. 2.당신은 당신이로 이동하여 실제 오류를 볼 수있는 반면 CORS 오류 메시지가, 오류보고가있는 경우에서도, 아약스에 의해 표시되는 유일한 오류가 될 것, 당신의 PHP에서 세미콜론이나 뭐 어디 누락하는 경우 또 다른 이유는 브라우저에서 PHP URL입니다.

    당신은 당신이로 이동하여 실제 오류를 볼 수있는 반면 CORS 오류 메시지가, 오류보고가있는 경우에서도, 아약스에 의해 표시되는 유일한 오류가 될 것, 당신의 PHP에서 세미콜론이나 뭐 어디 누락하는 경우 또 다른 이유는 브라우저에서 PHP URL입니다.


  3. 3.모든 CORS를 허용하려면 :

    모든 CORS를 허용하려면 :

    <?php
    header('Access-Control-Allow-Origin: *');
    header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
    
    echo "You have CORS!";
    
  4. from https://stackoverflow.com/questions/18382740/cors-not-working-php by cc-by-sa and MIT license