•   欢迎来到21NN网.
  •   请记住本站网址www.21nn.cn

html怎样与php数据交互【php问题】,html,php

摘要: php文件与HTML页面的数据交互HTML发送(运用POST发送)<!doctypehtml><html><head><metach...

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网别的相干文章!

分享到:

发表评论

评论列表

还没有评论,快来说点什么吧~

公众号二维码

微信公众号