原生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 相关文章推荐
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
Nov 30 Javascript
javascript中的对象创建 实例附注释
Feb 08 Javascript
验证码按回车不变解决方法
Mar 29 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
Apr 08 Javascript
动态创建script标签实现跨域资源访问的方法介绍
Feb 28 Javascript
在JSP中如何实现MD5加密的方法
Nov 02 Javascript
Bootstrap Multiselect 常用组件实现代码
Jul 09 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
Nov 06 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
Dec 05 Javascript
vue指令做滚动加载和监听等
May 26 Javascript
vue element-ui实现input输入框金额数字添加千分位
Dec 29 Javascript
微信小程序实现吸顶效果
Jan 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
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
使用Yii2实现主从数据库设置
2016/11/20 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
js中的escape及unescape函数的php实现代码
2007/09/04 Javascript
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
jQuery中extend函数的实现原理详解
2015/02/03 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
原生js实现轮播图
2017/02/27 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
Openlayers实现距离面积测量
2020/09/28 Javascript
[49:31]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第二场 1月29日
2021/03/11 DOTA
Python中异常重试的解决方案详解
2017/05/05 Python
python图像和办公文档处理总结
2019/05/28 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
2019/09/15 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
Python通过getattr函数获取对象的属性值
2020/10/16 Python
使用layui实现左侧菜单栏及动态操作tab项的方法
2020/11/10 HTML / CSS
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
2014年单位工作总结范文
2014/11/27 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
浅谈python中的多态
2021/06/15 Python
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python