原生javascript的ajax请求及后台PHP响应操作示例


Posted in Javascript onFebruary 24, 2020

本文实例讲述了原生javascript的ajax请求及后台PHP响应操作。分享给大家供大家参考,具体如下:

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <table id="t">
    <tr>
      <td>学号:</td>
      <td><input type="text" id="stuid" /></td>
    </tr>
    <tr>
      <td>密码:</td>
      <td><input type="password" id="stupass" /></td>
    </tr>
    <tr>
      <td colspan="2">
        <input id="btnLogin" type="button" value="登录" />
      </td>
    </tr>
  </table>
</body>
</html>

ajax的一般步骤

1、创建对象

let xhr = new XMLHttpRequest();

2、设置请求参数

xhr.open(请求方式,请求地址,是否异步);

3、设置回调函数

xhr.onreadystatechange = function () {
    // 5、接收响应
  alert(xhr.responseText);
}

4、发送

xhr.send();
<script type="text/javascript">
window.onload = function(){
  $("#btnLogin").onclick = function(){
    //1、创建对象
    let xhr = new XMLHttpRequest();
    //2、设置请求参数
    xhr.open('post','loginCheckajax.php',true);
    //3、设置回调函数
    xhr.onreadystatechange = function(){
      if(xhr.readyState==4 && xhr.status==200){
        if(xhr.responseText=='1'){
          //存cookie
          saveCookie("username",$("#stuid").value,7);
          //挑到首页
          location.href="index.html" rel="external nofollow" ;
        }else{
          alert("登录失败!");
        }
      }
    }
    xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');
    //4、发送
    xhr.send("stuid="+$("#stuid").value+"&stupass="+$("#stupass").value);
  }
}
function $(str){  //id class tagname
  if(str.charAt(0) == "#"){
    return document.getElementById(str.substring(1));
  }else if(str.charAt(0) == "."){
    return document.getElementsByClassName(str.substring(1));
  }else{
    return document.getElementsByTagName(str);
  }
}
</script>

php文件

<?php
  header("Content-type:text/html;charset=utf-8");
  //一、获取用户的输入
  $stuid = $_POST['stuid'];
  $stupass = $_POST['stupass'];
  //二、处理
  //1、建立连接(搭桥)
  $conn = mysql_connect('localhost','root','root');
  if(!$conn){
    die("连接失败");
  }
  //2、选择数据库(选择目的地)
  mysql_select_db("mydb1809",$conn);
  //3、执行SQL语句(传输数据)
  $sqlstr="select * from student where stuid='$stuid' and stupass='$stupass'";
  $result = mysql_query($sqlstr,$conn);//结果是个表格
  //4、关闭数据库(过河拆桥)
  mysql_close($conn);
  //三、响应
  if(mysql_num_rows($result)>0){
    echo "1";
  }else{
    echo "0";
  }
?>
<!-- 保存cookie -->
<script>
  // saveCookie
//保存cookie
//参数:
//键
//值
//有效期(单位是:天)
//返回值:无
function saveCookie(key,value,dayCount){
  var d = new Date();
  d.setDate(d.getDate()+dayCount);
  document.cookie = key+'='+escape(value)+';expires='+d.toGMTString();
}
//获取cookie(根据键获取值)
//参数:
//键
//返回值:值
function getCookie(key){
  var str = unescape(document.cookie);//username=jzm; userpass=1236667
  //1、分割成数组(; )
  var arr = str.split('; ');//['username=jzm','userpass=1236667']
  //2、从数组查找key=;
  for(var i in arr){
    if(arr[i].indexOf(key+'=')==0){
      return arr[i].split('=')[1];
    }
  }
  return null;
}
//删除cookie
//参数:
//键
//返回值:无
function removeCookie(key){
  saveCookie(key,'',-1);
}
</script>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript StringBuilder类实现
Dec 22 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
May 24 Javascript
node.js中的buffer.write方法使用说明
Dec 10 Javascript
基于javascript实现彩票随机数生成(升级版)
Apr 17 Javascript
Javascript数组循环遍历之forEach详解
Nov 07 Javascript
jquery dataTable 后台加载数据并分页实例代码
Jun 07 jQuery
JS倒计时实例_天时分秒
Aug 22 Javascript
jQuery实现checkbox全选功能完整实例
Jul 12 jQuery
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
Aug 19 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
Jun 24 Javascript
layer弹出层自适应高度,垂直水平居中的实现
Sep 16 Javascript
JS对日期操作封装代码实例
Nov 08 Javascript
在 Vue 中编写 SVG 图标组件的方法
Feb 24 #Javascript
原生javascript中this几种常见用法总结
Feb 24 #Javascript
js实现坦克大战游戏
Feb 24 #Javascript
Vue中点击active并第一个默认选中功能的实现
Feb 24 #Javascript
如何在JavaScript中创建具有多个空格的字符串?
Feb 23 #Javascript
浅谈TypeScript的类型保护机制
Feb 23 #Javascript
原生javascript制作的拼图游戏实现方法详解
Feb 23 #Javascript
You might like
用PHP动态创建Flash动画
2006/10/09 PHP
安装APACHE
2007/01/15 PHP
一个php Mysql类 可以参考学习熟悉下
2009/06/21 PHP
PHP5.3新特性小结
2016/02/14 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
用js获取电脑信息(是使用与IE浏览器)
2013/01/15 Javascript
jquery清空textarea等输入框实现代码
2013/04/22 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
2013/06/26 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
JavaScript学习笔记之DOM基础 2.4
2015/08/14 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
vue实现element表格里表头信息提示功能(推荐)
2019/11/20 Javascript
解决vuecli3中img src 的引入问题
2020/08/04 Javascript
微信小程序之高德地图多点路线规划过程示例详解
2021/01/18 Javascript
深入理解javascript中的this
2021/02/08 Javascript
[46:37]LGD vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
python+numpy实现的基本矩阵操作示例
2019/07/19 Python
Django接收post前端返回的json格式数据代码实现
2019/07/31 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
教师年度考核自我鉴定
2014/01/19 职场文书
父母寄语大全
2014/04/12 职场文书
保险公司开门红口号
2014/06/21 职场文书
爱国主义教育演讲稿
2014/08/26 职场文书
捐书倡议书
2014/08/29 职场文书
影视后期实训报告
2014/11/05 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python