原生javascript的ajax请求及后台PHP响应操作示例

 更新时间:2020年02月24日 08:51:02   作者:巴啦啦小能量  
这篇文章主要介绍了原生javascript的ajax请求及后台PHP响应操作,结合示例形式分析了JavaScript前台ajax请求的原理、调用、后台PHP响应请求及cookie保存相关操作技巧,需要的朋友可以参考下

本文实例讲述了原生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中ajax操作技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

  • JavaScript事件学习小结(二)js事件处理程序

    JavaScript事件学习小结(二)js事件处理程序

    这篇文章主要介绍了JavaScript事件学习小结(二)js事件处理程序的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • html嵌入javascript代码的三种方式

    html嵌入javascript代码的三种方式

    本文详细介绍了html嵌入javascript代码的三种主要方式:脚本块的方式、引入外部独立的.js文件、事件句柄是以html标签的属性存在的,有感兴趣了解的同学可以借鉴阅读
    2023-03-03
  • JS解决ie6下png透明的方法实例

    JS解决ie6下png透明的方法实例

    解决ie6下png透明的问题想必前端都比较清楚,虽然有很多方法,但是我觉得用JS还是最省事的方法,不管是图片还是背景图片都OK。
    2013-08-08
  • 判断li是否有样式的js代码

    判断li是否有样式的js代码

    下面的代码注意实现先判断li是否有样式,如果没有,就添加一个样式,原理呢,就是批量检测li的className属性
    2008-09-09
  • webpack打包进度展示以及美化教程

    webpack打包进度展示以及美化教程

    webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler),下面这篇文章主要给大家介绍了关于webpack打包进度展示以及美化的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • javascript动态创建链接的方法

    javascript动态创建链接的方法

    这篇文章主要介绍了javascript动态创建链接的方法,涉及javascript动态操作页面元素的技巧,需要的朋友可以参考下
    2015-05-05
  • bootstrap表格内容过长时用省略号表示的解决方法

    bootstrap表格内容过长时用省略号表示的解决方法

    这篇文章主要介绍了bootstrap表格内容过长时用省略号表示的解决方法,需要的朋友可以参考下
    2017-11-11
  • 微信小程序开发实战快速入门教程

    微信小程序开发实战快速入门教程

    这篇文章主要为大家介绍了开发一个微信小程序实战快速入门教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • 使用Javascript在HTML中显示实时时间

    使用Javascript在HTML中显示实时时间

    这篇文章主要为大家详细介绍了使用Javascript在HTML中显示实时时间,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • JavaScript编码风格精选指南(编写可维护的代码规范)

    JavaScript编码风格精选指南(编写可维护的代码规范)

    javascript编码规范能够增强代码的简洁性、可读性、可扩展性,项目做到后期,每修改一次,所耗费的成本就越高,编码规范能节省这样的成本,并且能很好拓展升级原有系统功能,javascript编码规范也是开源社区大家约定俗成的规则!
    2024-06-06

最新评论