
php文件与HTML页面的数据交互
HTML发送(运用POST发送)
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <body> <div class='search-choose' id='search_choose'> <ul> <li id='search_1' class='search-selected'><a href='#'>dog</a></li> <li id='search_2'><a href='#'>cat</a></li> </ul> </div> <script type='text/javascript'> searchArray = document.getElementsByTagName('li');//猎取名字为’li’的一切标签项并存入数组 var writeArray = []; for(var i = 0;i<searchArray.length;i++){ writeArray[i] = searchArray[i].innerText;//猎取标签内容writeArray = ['dog','cat']; } //运用POST将数组writeArray发送到php文件servertest.php var request = new XMLHttpRequest(); request.open("POST", "servertest.php"); var q = "data=" + writeArray;// q="name"+ value; //发送内容体由name+value构成,此处name为data,value为writeArray request.setRequestHeader("Content-type","application/x-www-form-urlencoded"); request.send(q); request.onreadystatechange = function() { if (request.readyState===4) { if (request.status===200) { } else { alert("发作毛病:" + request.status); } } } </script> </body> </html>
注:症结操纵
var request = new XMLHttpRequest(); request.open("POST", "servertest.php"); var q = "data=" + writeArray;// 生成信息体q = “name “+ value request.setRequestHeader("Content-type","application/x-www-form-urlencoded"); request.send(q); //HTML页面POST发送内容后,php经由过程超全局变量 $_GET 和 $_POST网络
php吸收(运用超全局变量$_GET 和 $_POST网络)
<?php //设置页面内容是html编码花样是utf-8 header("Content-Type: text/plain;charset=utf-8"); //推断如果是get要求,则实行getMethod();;如果是POST要求,则实行postMethod()。 //$_SERVER是一个超全局变量,在一个剧本的悉数作用域中都可用,不必运用global症结字 if ($_SERVER["REQUEST_METHOD"] == "GET") { getMethod(); } elseif ($_SERVER["REQUEST_METHOD"] == "POST"){ postMethod(); } function searchShow(){ } function postMethod(){ $filename = 'save.txt'; //运用超全局变量 $_GET 和 $_POST网络name对应的value,以下 $searchWrite = $_POST["data"]; //将猎取的HTML返回内容$searchWrite写入文档save.txt file_put_contents($filename, $searchWrite); $content = file_get_contents($filename); echo $content; }
注:症结操纵
searchWrite=searchWrite=_POST["data"];
运用超全局变量 $_POST网络name对应的value放入$searchWrite,因而得到了HTML页面发送的数据,能够用了
HTML页面经由过程json猎取php的变量
php发送(经由过程echo返回json花样的数据对)
<?php 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"); if ($_SERVER["REQUEST_METHOD"] == "GET") { getMethod(); } elseif ($_SERVER["REQUEST_METHOD"] == "POST"){ postMethod(); } function getMethod(){ $filename = 'search_save.txt';//假定文件内容为dog,cat,pig,人 if (file_exists($filename)) { $content = file_get_contents($filename); $pattern = '/[\x{4e00}-\x{9fa5}_a-zA-Z0-9]+/u'; //[\x{4e00}-\x{9fa5}_a-zA-Z0-9]婚配中文、下划线、字母、数字 preg_match_all($pattern, $content, $matches); $searchRead = $matches[0];//经由过程正则表达式提取存储列表到$searchRead数组['dog','cat','pig','人'] $defaultSearch = $searchRead[0]; $result = '{"success":false,"defaultSearch":""}'; if($_GET["data"]){ $result = '{"success":true,"defaultSearch":"'.$defaultSearch.'"}'; } } echo $result;//echo返回json花样化数据对{"success":true,"defaultSearch":"'.$defaultSearch.'"} } functionpostMethod(){ }
注:症结操纵
$result = '{"success":true,"defaultSearch":"'.$defaultSearch.'"}';//将待返回内容改成json花样 echo $result;//HTML页面的json部份将从echo的输出猎取json花样化数据对,因而echo输出内容需要为json花样
HTML吸收(经由过程GET吸收php echo返回的json花样的数据对)
<script type='text/javascript'> $(document).ready(function(){ $.ajax({ type: "GET", url: "default_search.php?data=" + value,//value为HTML向url发送的内容体,在php中能够经由过程超全局变量网络 dataType: "json", //data为php运用echo返回的json花样的数据对,经由过程data.name的情势即能够运用name对应的value success: function(data) { if (data.success) { alert(data.defaultSearch); } }, error: function(jqXHR){ alert("发作毛病:" + jqXHR.status); }, }); }); </script>
症结操纵:
$.ajax({ type: "GET", url: "default_search.php?data=" + "searchArray", dataType: "json", success: function(data) { If(data.success){alert(data.defaultSearch);} //data为php运用echo输出的json花样的数据对,经由过程data.name的情势即能够运用name对应的value }, error: function(jqXHR){ alert("发作毛病:" + jqXHR.status); }, }); });
以上就是html怎样与php数据交互的细致内容,更多请关注ki4网别的相干文章!