html與php數(shù)據(jù)交互的方法?這個(gè)問(wèn)題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見(jiàn)到的。希望通過(guò)這個(gè)問(wèn)題能讓你收獲頗深。下面是小編給大家?guī)?lái)的參考內(nèi)容,讓我們一起來(lái)看看吧!
成都創(chuàng)新互聯(lián)公司企業(yè)建站,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁(yè)設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營(yíng)經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁(yè)中充分展現(xiàn),通過(guò)對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。
php文件與HTML頁(yè)面的數(shù)據(jù)交互
HTML發(fā)送(使用POST發(fā)送)
<!doctype html> <html> <head> <meta charset="utf-8"> <title>無(wú)標(biāo)題文檔</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’的所有標(biāo)簽項(xiàng)并存入數(shù)組 var writeArray = []; for(var i = 0;i<searchArray.length;i++){ writeArray[i] = searchArray[i].innerText;//獲取標(biāo)簽內(nèi)容writeArray = ['dog','cat']; } //使用POST將數(shù)組writeArray發(fā)送到php文件servertest.php var request = new XMLHttpRequest(); request.open("POST", "servertest.php"); var q = "data=" + writeArray;// q="name"+ value; //發(fā)送內(nèi)容體由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("發(fā)生錯(cuò)誤:" + request.status); } } } </script> </body> </html>
注:關(guān)鍵操作
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頁(yè)面POST發(fā)送內(nèi)容后,php通過(guò)超全局變量 $_GET 和 $_POST收集
php接收(使用超全局變量$_GET 和 $_POST收集)
<?php //設(shè)置頁(yè)面內(nèi)容是html編碼格式是utf-8 header("Content-Type: text/plain;charset=utf-8"); //判斷如果是get請(qǐng)求,則執(zhí)行g(shù)etMethod();;如果是POST請(qǐng)求,則執(zhí)行postMethod()。 //$_SERVER是一個(gè)超全局變量,在一個(gè)腳本的全部作用域中都可用,不用使用global關(guān)鍵字 if ($_SERVER["REQUEST_METHOD"] == "GET") { getMethod(); } elseif ($_SERVER["REQUEST_METHOD"] == "POST"){ postMethod(); } function searchShow(){ } function postMethod(){ $filename = 'save.txt'; //使用超全局變量 $_GET 和 $_POST收集name對(duì)應(yīng)的value,如下 $searchWrite = $_POST["data"]; //將獲取的HTML返回內(nèi)容$searchWrite寫入文檔save.txt file_put_contents($filename, $searchWrite); $content = file_get_contents($filename); echo $content; }
注:關(guān)鍵操作
searchWrite=searchWrite=_POST["data"];
使用超全局變量 $_POST收集name對(duì)應(yīng)的value放入$searchWrite,于是得到了HTML頁(yè)面發(fā)送的數(shù)據(jù),可以用了
HTML頁(yè)面通過(guò)json獲取php的變量
php發(fā)送(通過(guò)echo返回json格式的數(shù)據(jù)對(duì))
<?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';//假設(shè)文件內(nèi)容為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]匹配中文、下劃線、字母、數(shù)字 preg_match_all($pattern, $content, $matches); $searchRead = $matches[0];//通過(guò)正則表達(dá)式提取存儲(chǔ)列表到$searchRead數(shù)組['dog','cat','pig','人'] $defaultSearch = $searchRead[0]; $result = '{"success":false,"defaultSearch":""}'; if($_GET["data"]){ $result = '{"success":true,"defaultSearch":"'.$defaultSearch.'"}'; } } echo $result;//echo返回json格式化數(shù)據(jù)對(duì){"success":true,"defaultSearch":"'.$defaultSearch.'"} } functionpostMethod(){ }
注:關(guān)鍵操作
$result = '{"success":true,"defaultSearch":"'.$defaultSearch.'"}';//將待返回內(nèi)容改為json格式 echo $result;//HTML頁(yè)面的json部分將從echo的輸出獲取json格式化數(shù)據(jù)對(duì),因此echo輸出內(nèi)容需要為json格式
HTML接收(通過(guò)GET接收php echo返回的json格式的數(shù)據(jù)對(duì))
<script type='text/javascript'> $(document).ready(function(){ $.ajax({ type: "GET", url: "default_search.php?data=" + value,//value為HTML向url發(fā)送的內(nèi)容體,在php中可以通過(guò)超全局變量收集 dataType: "json", //data為php使用echo返回的json格式的數(shù)據(jù)對(duì),通過(guò)data.name的形式即可以使用name對(duì)應(yīng)的value success: function(data) { if (data.success) { alert(data.defaultSearch); } }, error: function(jqXHR){ alert("發(fā)生錯(cuò)誤:" + jqXHR.status); }, }); }); </script>
關(guān)鍵操作:
$.ajax({ type: "GET", url: "default_search.php?data=" + "searchArray", dataType: "json", success: function(data) { If(data.success){alert(data.defaultSearch);} //data為php使用echo輸出的json格式的數(shù)據(jù)對(duì),通過(guò)data.name的形式即可以使用name對(duì)應(yīng)的value }, error: function(jqXHR){ alert("發(fā)生錯(cuò)誤:" + jqXHR.status); }, }); });
感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)html與php數(shù)據(jù)交互的方法大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
文章題目:html與php數(shù)據(jù)交互的方法
文章URL:http://bm7419.com/article40/godhho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、建站公司、品牌網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、關(guān)鍵詞優(yōu)化、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)