一、Ajax中的JSON格式
html代碼:
<html><body> <input type="button" value="Ajax" id="btn"> <script> var btn = document.getElementById("btn"); btn.onclick = function(){ var xhr = getXhr(); xhr.open("post","10.php"); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); /* * 在客戶端如何構建JSON格式 * * 構建符合JSON格式的字符串 */ var user = '{"name":"zhangwuji","pwd":"123456"}'; xhr.send("user="+user); xhr.onreadystatechange = function(){ if(xhr.readyState==4&&xhr.status==200){ var data = xhr.responseText; /* * 使用eval()函數進行轉換 * * 使用"()"將其包裹,eval()函數強制將其轉換為JSON格式(javascript代碼) * * 不使用"()"將其包裹,eval()函數將其識別為一個空的代碼塊 */ var json = eval("("+data+")"); console.log(json); } } } function getXhr(){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{ xhr = new ActiveXObject("Microsoft.XMLHttp"); } return xhr; } </script> </body></html>
PHP代碼:
<?php // 接收客戶端發送的請求數據 $user = $_POST['user']; // 就是一個JSON格式的string字符串 //var_dump($user); $json_user = json_decode($user,true); //var_dump($json_user['name']); $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; //var_dump(json_decode($json)); // 響應數據符合JSON格式的字符串 // 1. 手工方式構建 //echo '{"name":"zhouzhiruo","pwd":"123456"}'; // 2. 使用json_encode()函數 echo json_encode($json_user);?>
二 Ajax中的XML格式
html頁面:
<html> <body> <input type="button" value="Ajax" id="btn"> <script> var btn = document.getElementById("btn"); btn.onclick = function(){ // 實現Ajax的異步交互 var xhr = getXhr(); xhr.open("post","07.php"); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); /* * 如何構建符合XML格式的請求數據 * * 注意 * * 請求數據的格式 - key=value 不能改變的 * * 將value值構建成符合XML格式的數據 * * 數據類型 - 字符串(string) * * 格式符合XML的語法要求 * * 編寫注意 * * 定義變量 - 專門構建XML格式的數據 * * 在send()方法進行拼串 */ var user = "<user><name>zhangwuji</name><pwd>123456</pwd></user>"; xhr.send("user="+user); xhr.onreadystatechange = function(){ if(xhr.readyState==4&&xhr.status==200){ // 接收服務器端的響應數據 var xmlDoc = xhr.responseXML; var nameEle = xmlDoc.getElementsByTagName("name")[0]; var txtEle = nameEle.childNodes[0]; console.log(txtEle.nodeValue); } } } function getXhr(){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else{ xhr = new ActiveXObject("Microsoft.XMLHttp"); } return xhr; } </script> </body></html>
新聞熱點
疑難解答
圖片精選