Ajax+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>
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
원생 Ajax와 jQuery Ajax의 차이점 예시 분석선언: 이번에 소개한 것은 aax와 백그라운드를 이용하여 데이터 교환을 하는 작은 예이기 때문에 demo는 서버를 통해 열어야 합니다.서버 환경은 구축하기 매우 좋다. 인터넷에서wamp나xampp를 다운로드하여 한 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.