>  기사  >  백엔드 개발  >  PHP 예제 정보 - AJAX 및 XML 상호 작용

PHP 예제 정보 - AJAX 및 XML 상호 작용

jacklove
jacklove원래의
2018-05-07 14:59:591381검색

AJAX를 사용하여 XML 파일과 대화식으로 통신할 수 있습니다. 이 기사에서는 AJAX와 XML 간의 상호 작용을 자세히 설명합니다.

AJAX XML 예제

다음 예제에서는 웹 페이지가 AJAX를 통해 XML 파일에서 정보를 읽는 방법을 보여줍니다.

Example

CD 선택: Bob Dylan Bee Gees Cat Stevens

CD 정보가 나열됩니다. ..

예제 설명 - HTML 페이지

사용자가 위의 드롭다운 목록에서 CD를 선택하면 "showCD()"라는 함수가 실행됩니다. 이 함수는 "onchange" 이벤트에 의해 트리거됩니다.

<html><head><script>function showCD(str){    if (str=="")    {        document.getElementById("txtHint").innerHTML="";        return;    }     if (window.XMLHttpRequest)    {        // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行        xmlhttp=new XMLHttpRequest();    }    else    {        // IE6, IE5 浏览器执行        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");    }    xmlhttp.onreadystatechange=function()    {        if (xmlhttp.readyState==4 && xmlhttp.status==200)        {            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;        }    }    xmlhttp.open("GET","getcd.php?q="+str,true);    xmlhttp.send();}</script></head><body><form>Select a CD:<select name="cds" onchange="showCD(this.value)"><option value="">Select a CD:</option><option value="Bob Dylan">Bob Dylan</option><option value="Bonnie Tyler">Bonnie Tyler</option><option value="Dolly Parton">Dolly Parton</option></select></form><div id="txtHint"><b>CD info will be listed here...</b></div></body></html>

showCD() 함수는 다음 단계를 수행합니다.

CD가 선택되었는지 확인합니다.

XMLHttpRequest 객체를 생성합니다.

서버가 실행될 때 실행되는 함수를 생성합니다. 응답 준비됨

서버에 파일 전송 요청

URL(드롭다운 목록의 내용 포함) 끝에 추가된 매개변수(q)에 주의하세요.

PHP 파일

서버 페이지 위 단락의 JavaScript에 의해 이름은 "getcd.php" PHP 파일입니다.

PHP 스크립트는 XML 문서 "cd_catalog.xml"을 로드하고 XML 파일에 대해 query를 실행한 다음 결과를 HTML로 반환합니다.

<?php
$q=$_GET["q"];$xmlDoc = new DOMDocument();$xmlDoc->load("cd_catalog.xml");$x=$xmlDoc->getElementsByTagName(&#39;ARTIST&#39;);for ($i=0; $i<=$x->length-1; $i++){    // 处理元素节点    if ($x->item($i)->nodeType==1)    {        if ($x->item($i)->childNodes->item(0)->nodeValue == $q)        {            $y=($x->item($i)->parentNode);        }    }}$cd=($y->childNodes);for ($i=0;$i<$cd->length;$i++){     // 处理元素节点    if ($cd->item($i)->nodeType==1)    {        echo("<b>" . $cd->item($i)->nodeName . ":</b> ");        echo($cd->item($i)->childNodes->item(0)->nodeValue);        echo("<br>");    }}?>

CD 쿼리가 JavaScript에서 PHP 페이지로 전송되면, 발생:

PHP XML DOM 개체 만들기

JavaScript에서 전달한 데이터와 일치하는 cbb6a5431263fa60a8770e5fc7758c8f 요소에서 모든 이름을 찾습니다.

앨범 정보를 출력하고 "txtHint" 자리 표시자를 다시 보냅니다.

이 문서에서는 AJAX와 XML 상호 작용의 관계에 대해 더 많은 학습 자료를 보려면 PHP 중국어 웹사이트를 주의 깊게 살펴보시기 바랍니다.

관련 권장 사항:

PHP 정보 - AJAX와 MySQL의 상호 작용

PHP 정보 - AJAX와 PHP의 연결

PHP Simple XML에 대한 관련 지식

위 내용은 PHP 예제 정보 - AJAX 및 XML 상호 작용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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