原生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 相关文章推荐
创建一个复制UBB软件信息的链接或按钮的js代码
Jan 06 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
Apr 15 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
Aug 26 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
Aug 11 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
Sep 08 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
Nov 07 Javascript
jquery 多个radio的click事件实例
Dec 03 Javascript
js 去掉字符串前后空格实现代码集合
Mar 25 Javascript
Vuex简单入门
Apr 19 Javascript
JavaScript 异步调用
Oct 25 Javascript
不得不知的ES6小技巧
Jul 28 Javascript
微信小程序功能之全屏滚动效果的实现代码
Nov 22 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
Zend Studio 无法启动的问题解决方法
2008/12/04 PHP
解决Codeigniter不能上传rar和zip压缩包问题
2014/03/07 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
浅谈Javascript中的Function与Object
2015/01/26 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
jQuery实现固定在网页顶部的菜单效果代码
2015/09/02 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
2016/11/28 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
微信小程序8种数据通信的方式小结
2020/02/03 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
windows系统中python使用rar命令压缩多个文件夹示例
2014/05/06 Python
Python映射拆分操作符用法实例
2015/05/19 Python
在Python中操作字典之clear()方法的使用
2015/05/21 Python
python3 cvs将数据读取为字典的方法
2018/12/22 Python
浅谈Tensorflow 动态双向RNN的输出问题
2020/01/20 Python
详解Pandas 处理缺失值指令大全
2020/07/30 Python
python利用faker库批量生成测试数据
2020/10/15 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
HTML5实现晶莹剔透的雨滴特效
2014/05/14 HTML / CSS
巴西儿童时尚购物网站:Dinda
2019/08/14 全球购物
学生会副主席竞聘书
2014/03/31 职场文书
《微笑着面对生活》优秀演讲稿范文
2014/09/23 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
趣味运动会新闻稿
2015/07/17 职场文书
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android
MySQL添加索引特点及优化问题
2022/07/23 MySQL