溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

原生JS如何實(shí)現(xiàn)Ajax通過POST方式與PHP進(jìn)行交互的方法

發(fā)布時(shí)間:2021-04-20 11:28:22 來源:億速云 閱讀:215 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)原生JS如何實(shí)現(xiàn)Ajax通過POST方式與PHP進(jìn)行交互的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

js的作用是什么

1、能夠嵌入動(dòng)態(tài)文本于HTML頁面。2、對(duì)瀏覽器事件做出響應(yīng)。3、讀寫HTML元素。4、在數(shù)據(jù)被提交到服務(wù)器之前驗(yàn)證數(shù)據(jù)。5、檢測(cè)訪客的瀏覽器信息。6、控制cookies,包括創(chuàng)建和修改等。7、基于Node.js技術(shù)進(jìn)行服務(wù)器端編程。

本文實(shí)例講述了原生JS實(shí)現(xiàn)Ajax通過POST方式與PHP進(jìn)行交互的方法。分享給大家供大家參考,具體如下:

一、代碼

conn.php

<?php
   $conn=mysql_connect("localhost","root","root") or die("數(shù)據(jù)庫連接失敗".mysql_error());
   mysql_select_db("db_database27",$conn) or die("數(shù)據(jù)庫連接失敗".mysql_error());
   mysql_query("set names gb2312");
?>

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>通過POST方式與PHP進(jìn)行交互</title>
<style type="text/css">
<!--
body {
  margin-left: 0px;
  margin-top: 00px;
  margin-right: 0px;
  margin-bottom: 0px;
}
-->
</style></head>
<script>
var xmlHttp;                  //定義XMLHttpRequest對(duì)象
function createXmlHttpRequestObject(){
    if(window.ActiveXObject){          //如果在internet Explorer下運(yùn)行
      try{
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }catch(e){
        xmlHttp=false;
      }
    }else{
      try{                  //如果在Mozilla或其他的瀏覽器下運(yùn)行
        xmlHttp=new XMLHttpRequest();
      }catch(e){
        xmlHttp=false;
      }
    }
    if(!xmlHttp)                //返回創(chuàng)建的對(duì)象或顯示錯(cuò)誤信息
      alert("返回創(chuàng)建的對(duì)象或顯示錯(cuò)誤信息");
    else
      return xmlHttp;
}
function showsimple(){               //創(chuàng)建主控制函數(shù)
  createXmlHttpRequestObject();
  var us = document.getElementById("user").value;   //獲取表單提交的值
  var nu = document.getElementById("number").value;
  var ex = document.getElementById("explains").value;
  if(us=="" && nu=="" && ex==""){         //判斷表單提交的值不能為空
    alert('添加的數(shù)據(jù)不能為空!');
    return false;
  }
  var post_method="users="+us+"&numbers="+nu+"&explaines="+ex;    //構(gòu)造URL參數(shù)
  xmlHttp.open("POST","searchrst.php",true);           //調(diào)用指定的添加文件
  xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");  //設(shè)置請(qǐng)求頭信息
  xmlHttp.onreadystatechange=StatHandler;     //判斷URL調(diào)用的狀態(tài)值并處理
  xmlHttp.send(post_method);           //將數(shù)據(jù)發(fā)送給服務(wù)器
}
function StatHandler(){               //定義處理函數(shù)
  if(xmlHttp.readyState==4 && xmlHttp.status==200){    //判斷如果執(zhí)行成功,則輸出下面內(nèi)容
    if(xmlHttp.responseText!=""){
      alert("數(shù)據(jù)添加成功!");
      //將服務(wù)器返回的數(shù)據(jù)定義到DIV中
      document.getElementById("webpage").innerHTML=xmlHttp.responseText;
    }else{
      alert("添加失??!");           //如果返回值為空
    }
  }
}
</script>
<body>
<table width="800" height="632" border="0" align="center" cellpadding="0" cellspacing="0" background="images/bj.jpg">
 <tr>
  <td width="260" height="245">&nbsp;</td>
  <td colspan="2" align="center" valign="bottom"><strong>查詢員工信息,根據(jù)員工技能信息</strong></td>
  <td width="40">&nbsp;</td>
 </tr><form id="searchform" name="searchform" method="post" action="#">
 <tr>
  <td height="25">&nbsp;</td>
  <td width="150" align="right">員工姓名:   </td>
  <td width="350" align="left"><input name="user" type="text" id="user" size="30" /></td>
  <td>&nbsp;</td>
 </tr>
 <tr>
  <td height="25">&nbsp;</td>
  <td align="right">員工編號(hào):   </td>
  <td align="left"><input name="number" type="text" id="number" size="20" /></td>
  <td>&nbsp;</td>
 </tr>
 <tr>
  <td height="25">&nbsp;</td>
  <td align="right">技能描述:   </td>
  <td align="left"><textarea name="explains" cols="40" rows="3" id="explains"></textarea></td>
  <td>&nbsp;</td>
 </tr>
 <tr>
  <td height="25">&nbsp;</td>
  <td colspan="2" align="center">
  <input type="button" name="Submit" value="提交" onclick="showsimple();" />&nbsp;&nbsp;
  <input type="reset" name="Submit2" value="重置" /></td>
  <td>&nbsp;</td>
 </tr> </form>
 <tr>
  <td height="268">&nbsp;</td>
  <td colspan="2" align="center" valign="top"><div id="webpage"></div></td>
  <td>&nbsp;</td>
 </tr>
 <tr>
  <td>&nbsp;</td>
  <td colspan="2">&nbsp;</td>
  <td>&nbsp;</td>
 </tr>
</table>
</body>
</html>

searchrst.php

<?php
  header('Content-type: text/html;charset=GB2312');      //指定發(fā)送數(shù)據(jù)的編碼格式
  include_once 'conn/conn.php';                //連接數(shù)據(jù)庫
  $user =iconv('UTF-8','gb2312',$_POST['users']);       //獲取Ajax傳遞的值,并實(shí)現(xiàn)字符編碼轉(zhuǎn)換
  $number = iconv('UTF-8','gb2312',$_POST['numbers']);    //獲取Ajax傳遞的值,并實(shí)現(xiàn)字符編碼轉(zhuǎn)換
  $explains = iconv('UTF-8','gb2312',$_POST['explaines']);  //獲取Ajax傳遞的值,并實(shí)現(xiàn)字符編碼轉(zhuǎn)換
  $sql="insert into tb_administrator(user,number,explains)values('$user','$number','$explains')";
  $result=mysql_query($sql,$conn);            //執(zhí)行添加語句
  if($result){
    $sqles="select * from tb_administrator ";
    $results=mysql_query($sqles,$conn);
    echo "<table width='500' border='1' cellpadding='1' cellspacing='1' bordercolor='#FFFFCC' bgcolor='#666666'>";
    echo "<tr><td height='30' align='center' bgcolor='#FFFFFF'>ID</td><td align='center' bgcolor='#FFFFFF'>名稱</td><td align='center' bgcolor='#FFFFFF'>編號(hào)</td><td align='center' bgcolor='#FFFFFF'>描述</td></tr>";
    while($myrow=mysql_fetch_array($results)){     //循環(huán)輸出查詢結(jié)果
      echo "<tr><td height='22' bgcolor='#FFFFFF'>".$myrow[id]."</td>";
      echo "<td bgcolor='#FFFFFF'>".$myrow[user]."</td>";
      echo "<td bgcolor='#FFFFFF'>".$myrow[number]."</td>";
      echo "<td bgcolor='#FFFFFF'>".$myrow[explains]."</td>";
      echo "</tr>";
    }
    echo "</table>";
  }
?>

二、運(yùn)行結(jié)果

原生JS如何實(shí)現(xiàn)Ajax通過POST方式與PHP進(jìn)行交互的方法

關(guān)于“原生JS如何實(shí)現(xiàn)Ajax通過POST方式與PHP進(jìn)行交互的方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI