原生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 相关文章推荐
Jquery 插件学习实例1 插件制作说明与tableUI优化
Apr 02 Javascript
JS限制上传图片大小不使用控件在本地实现
Dec 19 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
Mar 24 Javascript
JavaScript实现关键字高亮功能
Nov 12 Javascript
JavaScript实现动态删除列表框值的方法
Aug 12 Javascript
JS实现可拖曳、可关闭的弹窗效果
Sep 26 Javascript
Bootstrap模仿起筷首页效果
May 09 Javascript
深入理解JavaScript 参数按值传递
May 24 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
Aug 25 Javascript
不使用JavaScript实现菜单的打开和关闭效果demo
May 01 Javascript
使用vue-infinite-scroll实现无限滚动效果
Jun 22 Javascript
Vue实现todolist删除功能
Jun 26 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无限分类源码分享(思路不错)
2011/10/13 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
2019/05/27 PHP
jquery.ui.draggable中文文档
2009/11/24 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
js 返回时间戳所对应的具体时间
2010/07/20 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
javascript学习笔记(三) String 字符串类型介绍
2012/06/19 Javascript
Javascript中的delete介绍
2012/09/02 Javascript
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
2019/01/31 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
[02:35]DOTA2英雄基础教程 末日使者
2013/12/04 DOTA
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
python实现烟花小程序
2019/01/30 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
python 5个实用的技巧
2020/09/27 Python
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
大学生四个方面的自我评价
2013/09/19 职场文书
班长岗位职责
2013/11/10 职场文书
团员的自我评价
2013/12/01 职场文书
银行营业厅大堂经理岗位职责
2014/01/06 职场文书
诚信考试倡议书
2014/04/15 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
婚礼上证婚人致辞
2015/07/28 职场文书