原生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 相关文章推荐
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
Apr 15 Javascript
常见表单重复提交问题整理及解决方法
Nov 13 Javascript
js 针对html DOM元素操作等经验累积
Mar 11 Javascript
jQuery简单实现图片预加载
Apr 20 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
Sep 14 Javascript
使用pcs api往免费的百度网盘上传下载文件的方法
Mar 17 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
Nov 25 Javascript
Vuex之理解Getters的用法实例
Apr 19 Javascript
JavaScript定义函数的三种实现方法
Sep 23 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
Oct 15 Javascript
vue弹出框组件封装实例代码
Oct 31 Javascript
Vue页面切换和a链接的本质区别详解
Nov 12 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
德劲1103的维修打理经验
2021/03/02 无线电
抓取并下载CSS中所有图片文件的php代码
2011/09/26 PHP
PHP中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
jquery photoFrame 图片边框美化显示插件
2010/06/28 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
jq给页面添加覆盖层遮罩的实例
2017/02/16 Javascript
angular-cli修改端口号【angular2】
2017/04/19 Javascript
springmvc接收jquery提交的数组数据代码分享
2017/10/28 jQuery
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
vue瀑布流组件实现上拉加载更多
2020/03/10 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
python如何将图片转换为字符图片
2020/08/19 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
如何使用python切换hosts文件
2020/04/29 Python
舞蹈教育学专业推荐信
2013/11/27 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
超市采购员岗位职责
2015/04/07 职场文书
小学运动会加油稿
2015/07/22 职场文书
关于应聘教师的自荐信
2016/01/28 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android
基于Python实现流星雨效果的绘制
2022/03/18 Python