Ajax+PHP 간단 한 데이터 교환

PHP 는 동적 인 상호작용 사 이 트 를 만 드 는 서버 엔 드 스 크 립 트 언어 입 니 다.장점:PHP 스 크 립 트 언어 는 광범 위 하 게 응용 되 고 오픈 소스 는 무료 입 니 다.가장 중요 한 것 은 입문 이 간단 하고 쉽게 파악 할 수 있 습 니 다.
PHP 는 동적 페이지 내용 을 생 성 할 수 있 습 니 다.
PHP 는 서버 에 있 는 파일 을 만 들 고,열 고,읽 고,쓰 고,삭제 하고,닫 을 수 있 습 니 다
PHP 는 폼 데 이 터 를 수신 할 수 있 습 니 다.
PHP 는 cookies 를 보 내 고 되 찾 을 수 있 습 니 다.
PHP 는 데이터베이스 에 있 는 데 이 터 를 추가,삭제,수정 할 수 있 습 니 다.
PHP 는 사용자 가 사이트 의 일부 페이지 에 접근 하 는 것 을 제한 할 수 있다.
각종 플랫폼 에서 실행 할 수 있 고 거의 모든 WEB 서버 를 호 환 하 며 다양한 데이터 베 이 스 를 지원 합 니 다.
1.PHP 를 실행 하려 면 먼저 웹 서버 가 있어 야 합 니 다.일반적으로 로 컬 에 서버 를 배치 하여 테스트 할 수 있 습 니 다.따라서 XAMPP 를 다운로드 해 야 합 니 다.우 리 는 바 이 두 에서 apache friends 를 검색 하고 첫 번 째 링크 를 직접 연 다음 에 최신 버 전(PHP 7.0.9)을 다운로드 하고 다운로드 한 후에 설 치 를 실행 합 니 다.

2.
2.로 컬 서버 를 배치 하기 위해 XAMPP 를 설정 합 니 다.아파 치 서비스 만 사용 하면 시작 합 니 다.사용 에 성공 하지 못 하면 Port(s)에 데이터 가 표시 되 지 않 으 면 감청 하 는 PC 포트 가 점용 되 었 음 을 증명 합 니 다.Config 의 첫 번 째 옵션 에서 감청 포트 를 변경 할 수 있 습 니 다.메모 장 에 있 는 Listen 8080 명령 의 접 두 사 를 찾 을 수 있 습 니 다.여기 서 감청 포트 를 남 은 8080 으로 바 꾸 었 습 니 다.

3.드 림 위 버 를 열 고 서버 사 이 트 를 만 듭 니 다.사이트 설정:로 컬 사이트 폴 더 는 Xampp 경 로 를 설치 한 htdocs 디 렉 터 리 를 선택해 야 합 니 다.

4.서버 설정 추가:


이렇게 하면 사이트 가 설정 되 어 있 고 사이트 폴 더 에 server.php 를 만 듭 니 다.스 크 립 트 는 다음 과 같 습 니 다.

<?php
//       html     utf-8
//header("Content-Type: text/plain;charset=utf-8"); 
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:POST,GET');
header('Access-Control-Allow-Credentials:true'); 
header("Content-Type: application/json;charset=utf-8"); 
//header("Content-Type: text/xml;charset=utf-8"); 
//header("Content-Type: text/html;charset=utf-8"); 
//header("Content-Type: application/javascript;charset=utf-8");


//        ,       ,           
$staff = array
(
array("name" => "   ", "number" => "101", "sex" => " ", "job" => "IOS     "),
array("name" => "    ", "number" => "102", "sex" => " ", "job" => "       "),
array("name" => "   ", "number" => "103", "sex" => " ", "job" => "       "),
array("name" => "  ", "number" => "104", "sex" => " ", "job" => "Java     "),
array("name" => "  ", "number" => "105", "sex" => " ", "job" => "       "),
array("name" => "   ", "number" => "106", "sex" => " ", "job" => "web       ")
);


//     get  ,     ;   POST  ,     
//$_SERVER        ,               ,    global   
//$_SERVER["REQUEST_METHOD"]             
if ($_SERVER["REQUEST_METHOD"] == "GET") {
search();
} elseif ($_SERVER["REQUEST_METHOD"] == "POST"){
create();
}


//          
function search(){
//            
//isset        ;empty       
//      $_GET   $_POST         
if (!isset($_GET["number"]) || empty($_GET["number"])) {
echo '{"success":false,"msg":"    "}';
return;
}
//            Global    ,           。
//global                
global $staff;
//  number  
$number = $_GET["number"];
$result = '{"success":false,"msg":"      。"}';

//  $staff    ,  key  number       ,    ,       
foreach ($staff as $value) {
if ($value["number"] == $number) {
$result = '{"success":true,"msg":"    :    :' . $value["number"] . 
',    :' . $value["name"] . 
',    :' . $value["sex"] . 
',    :' . $value["job"] . '"}';
break;
}
}
 echo $result;
}


//    
function create(){
//          
if (!isset($_POST["name"]) || empty($_POST["name"])
|| !isset($_POST["number"]) || empty($_POST["number"])
|| !isset($_POST["sex"]) || empty($_POST["sex"])
|| !isset($_POST["job"]) || empty($_POST["job"])) {
echo '{"success":false,"msg":"    ,        "}';
return;
}
//TODO:   POST           

//      
echo '{"success":true,"msg":"  :' . $_POST["name"] . '       !"}';
}

?>

server.php 파일 배열$staff 의 데 이 터 를 조회 할 수 있 으 며 데 이 터 를 추가 하 는 기능 을 실현 할 수 있 습 니 다.다음은 demo.html 를 만 듭 니 다.

<style>
body,input,button,select,h1{
font-size:20px;
line-height:18px;
}
</style>


<script>

window.onload=function(){
document.getElementById("search").onclick=function(){//    
//  Ajax       
var request=new XMLHttpRequest();
//open("  (GET  ,POST  )","       ",    (   false   true,     true));
request.open("GET","server.php?number="+document.getElementById('keyword').value);
request.send();
request.onreadystatechange=function(){
if(request.readyState===4){//        
if(request.status===200){//status==200        
 var data=JSON.parse(request.responseText);
 if(data.success){//        
document.getElementById('searchResult').innerHTML=data.msg;
 }else{//         
document.getElementById('searchResult').innerHTML="    :"+data.msg;
 } 
}else{//       
 alert("    :"+request.status);
}
}
}
}

document.getElementById("save").onclick=function(){//    
//  Ajax         
var request=new XMLHttpRequest();
//open("  (GET  ,POST  )","       ",    (   false   true,     true));;
request.open("POST","server.php");
//  data          ,  send(data)    
var data="name="+document.getElementById("staffName").value
 +"&number="+document.getElementById("staffNumber").value
 +"&sex="+document.getElementById("staffSex").value
 +"&job="+document.getElementById("staffJob").value;
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");// POST     ,          
request.send(data);
request.onreadystatechange=function(){
if(request.readyState===4){//        
if(request.status===200){//status==200        
 var data=JSON.parse(request.responseText);
 if(data.success){//        
document.getElementById('createResult').innerHTML=data.msg;
 }else{//         
document.getElementById('createResult').innerHTML="    :"+data.msg;
 } 
}else{//       
 alert("    :"+request.status);
}
}
}
}
}
</script>

<body>
<h1>    </h1>
<label>       :</label>
<input type="text" id="keyword"/>
<button id="search">  </button>
<p id="searchResult"></p>

<h1>    </h1>
<label>       :</label>
<input type="text" id="staffName"/><br>
<label>       :</label>
<input type="text" id="staffNumber"/><br>
<label>       :</label>
<select id="staffSex">
 <option> </option>
 <option> </option>
</select><br>
<label>       :</label>
<input type="text" id="staffJob"/><br>
<button id="save">  </button>
<p id="createResult"></p>
</body>


이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기