>백엔드 개발 >PHP 튜토리얼 >PHP는 도메인 간 문제를 해결합니다.

PHP는 도메인 간 문제를 해결합니다.

angryTom
angryTom원래의
2019-08-23 09:05:525364검색

PHP는 도메인 간 문제를 해결합니다.

프론트엔드에서는 크로스 도메인 문제를 해결하는 것이 항상 너무 역겨워 보입니다. jsonp, ajax, CORS 등은 어떻습니까? 사실 저는 항상 허점을 이용하여 크로스 도메인을 수행하고 있다고 느낍니다. , PHP 파일에 코드만 추가하면 됩니다. 크로스 도메인이 가능합니다. 프런트엔드를 어떻게 작성하나요? 원하는 대로 사용할 수 있습니다.

추천 튜토리얼: PHP 비디오 튜토리얼

PHP는 PHP 파일에 세 개의 요청 헤더를 추가하여 도메인 간 문제를 해결합니다.

header("Access-Control-Allow-Origin:*"); // 다른 도메인 이름의 액세스를 허용하도록 지정합니다.

header('Access-Control-Allow-Methods:POST') // 응답 유형

header('Access-Control-Allow-Headers:x-requested-with, content-type') // 응답 헤더 설정

<?php
// 制定允许其他域名访问
header("Access-Control-Allow-Origin:*");
// 响应类型
header(&#39;Access-Control-Allow-Methods:POST&#39;);
// 响应头设置
header(&#39;Access-Control-Allow-Headers:x-requested-with, content-type&#39;);
 
//$callback = isset($_REQUEST[&#39;callback&#39;]) ? trim($_REQUEST[&#39;callback&#39;]) : &#39;&#39;; //jsonp回调参数,必需
function getKey($key,$default=""){
    return trim(isset($_REQUEST[$key])?$_REQUEST[$key]:$default);
}
$id = getKey("id");
$conn = mysqli_connect("localhost","root","","test") or die("连接失败");
$conn->query("set names utf8");
$sql = "select * from data where ".$id." is not null";
$result = $conn->query($sql);
$arr = [];
while($row=$result->fetch_assoc()){
    array_push($arr,json_encode($row));
}
$json = json_encode($arr);  //json 数据
print_r($json);

위 내용은 PHP는 도메인 간 문제를 해결합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.