原生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和ActionScript的交互实现代码
Aug 01 Javascript
js单词形式的运算符
May 06 Javascript
JS实现CheckBox复选框全选全不选功能
May 06 Javascript
jquery解析XML及获取XML节点名称的实现代码
May 18 Javascript
js验证框架实现代码分享
May 18 Javascript
JavaScript实现定时页面跳转功能示例
Feb 14 Javascript
详谈表单格式化插件jquery.serializeJSON
Jun 23 jQuery
微信小程序实现弹出菜单功能
Jun 12 Javascript
详解Puppeteer前端自动化测试实践
Feb 21 Javascript
使用vue-router在Vue页面之间传递数据的方法
Jul 15 Javascript
ES10的13个新特性示例(小结)
Sep 23 Javascript
vue-cli4.x创建企业级项目的方法步骤
Jun 18 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
使用sockets:从新闻组中获取文章(一)
2006/10/09 PHP
为查询结果建立向后/向前按钮
2006/10/09 PHP
thinkphp实现like模糊查询实例
2014/10/29 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
获取鼠标在div中的相对位置的实现代码
2013/12/30 Javascript
JavaScript cookie详解及简单实例应用
2016/12/31 Javascript
js实现自定义路由
2017/02/04 Javascript
微信小程序 解析网页内容详解及实例
2017/02/22 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
vue递归组件实战之简单树形控件实例代码
2019/08/27 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
React实现todolist功能
2020/12/28 Javascript
如何在Python中编写并发程序
2016/02/27 Python
Python处理CSV与List的转换方法
2018/04/19 Python
Pandas中DataFrame的分组/分割/合并的实现
2019/07/16 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
python实现名片管理器的示例代码
2019/12/17 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
python异常处理之try finally不报错的原因
2020/05/18 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
python 装饰器重要在哪
2021/02/14 Python
英国家用电器购物网站:Hughes
2018/02/23 全球购物
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
总经理岗位职责描述
2014/02/08 职场文书
学校校庆演讲稿
2014/05/22 职场文书
电子商务求职信
2014/06/15 职场文书
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
销售经理工作失职检讨书
2014/10/24 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis