// ajax传参
        // ajax传参特点:
        //   1,不需要跳转
        //   2,ajax传参,都是异步程序
        //     不影响同步程序的执行
        //     即使请求交互没有完成,其他程序也可以正常执行
        // ajax:
        //  async       异步
        //  JavaScript 
        //  and
        //  XML
        //  一个异步的 JavaScript 和 XML 的数据交互
        // ajax 的基本步骤和过程
        // 1, 需要创建一个 ajax 对象
        //    const xhr = new XMLHttpRequest();
        // 2, 配置请求内容和数据
        //    xhr.open( '请求方式get/post' , '请求地址?键名=数值&键名=数值' );
        //        get方式可以在 请求地址之后直接拼接传参的键值对
        //        post方式在 open 中 只定义 请求url地址
        //       
        // 3, 发送请求
        //   xhr.send();
        //   post 请求 在 send() 阶段 来定义参数
        //   (1),定义 请求头 信息
        //   xhr.setRequestHeader('content-type' , 'application/x-www-form-urlencoded');
        
        //   (2),定义 参数
        //   xhr.send(以字符串形式传递参数)
        //   xhr.send('name=张三&age=18')   字符串是键值对形式,多个键值对以&符号间隔
        //   xhr.send({name:'张三' , age:18})
        // 4, 接收请求结果,响应体内容
        //   xhr.onload = function(){}
 
oBtn.addEventListener('click' , ()=>{
            // 点击时,先获取数据,在发送ajax请求给PHP程序
            // 获取数据
            let val1 = oIpt1.value;
            let val2 = oIpt2.value;
            // 1,创建 ajax对象
            const xhr = new XMLHttpRequest();
            // 2,设定 ajax传参对象和数据
            xhr.open('get' , `./get.php?userName=${val1}&userPwd=${val2}`);
            // 3,发送ajax请求
            xhr.send();
            // 4,接收请求响应体
            xhr.onload = function(){
                // 响应体内容 存储在 response 或者 responseText 中
                // 一般后端返回的响应体都是json串格式,需要还原成json串格式
                console.log(xhr.response);
                console.log( JSON.parse(xhr.response) );
            }
        })
 
<?php
// 1,php接收参数
$userName = $_POST['userName'];
$userPwd = $_POST['userPwd'];
// 2,PHP需要操作数据库
// 通过 PHP提供的 mysqli 函数方法来操作数据库
// 本质也是通过SQL语句来操作数据库,只是执行是通过PHP程序执行
// 2-1链接MySQL数据库服务器
//                      数据库地址     账号     密码      库名       端口号
$link = mysqli_connect( '127.0.0.1' , 'root' , 'root' , 'nz2003' , 3306 );
// 2-2定义SQL语句
$sql = "INSERT INTO `user` (`username` , `userpwd`) VALUES ( '{$userName}' , '$userPwd' ) ";
// 2-3执行SQL语句
// 第一个参数 : 链接的数据库信息
// 第二个参数 : 要执行的SQL语句
// 非查询语句,执行结果 是 布尔类型
$result = mysqli_query( $link , $sql );
// 会根据执行结果,返回信息
// 返回内容都是比较复杂的内容
if($result){
    $arr = [
        'res' => '1',
        'msg' => '注册成功',
    ];
}else{
    $arr = [
        'res' => '0',
        'msg' => '注册失败,用户名重复',
    ];
}
echo  json_encode($arr);

ajax传参的更多相关文章

  1. jq中的ajax传参

        一.   jq中的Ajax传参有两种           1.通过url地址来传参    2.通过data来传递参数 1. url来传递参数 function GetQuery(id) { | ...

  2. ajax传参到实体类对应字段

    之前看公司的代码,从页面ajax传参数到接口类,接口类用一个实体接收.我一直以为c#会自动识别,赋值到同名的字段. 我曾和朋友讨论过,双方辩论.朋友认为c#没有这种功能,没有这样高级匹配的机制.而我因 ...

  3. Ajax传参讲解

    客户端和服务器 1.请求:request 2.响应:response 服务器响应事件:onreadystatechange() send() 用于向后台传递参数: Ajax的请求方式 get:    ...

  4. ajax传参data里面的键是一个变量的解决方法

    直接用这种方式来传参,比如bean中有字段 username password,则是 data[username] = "用户名"; data[password] = " ...

  5. jq ajax传参的两种方式

    第一种   在url ? 后通过拼接传参   第二种 通过data传参 (1)第一种方法:(通过url传参) function GetQuery(id) { if (id ==1||id==7) { ...

  6. 超全table功能Datatables使用的填坑之旅--2:post 动态传参: 解决: ajax 传参无值问题.

    官网解释与方法:1 当向服务器发出一个ajax请求,Datatables将会把服务器请求到的数据构造成一个数据对象. 2 实际上他是参考jQuery的ajax.data属性来的,他能添加额外的参数传给 ...

  7. ajax 传参 乱码问题

    http://blog.csdn.net/yiyuhanmeng/article/details/7548505 开发一直用firfox网页,调试什么的都很方便.所以遇到了浏览器之间的兼容问题.url ...

  8. 跨域问题及jQuery中Ajax传参的讲解

    1.跨域:不再同一服务器下,就是协议,域名,端口,有一个不一样: 浏览器对于javascript的同源策略的限制: 案例: 以 http://172.164.23:8088/ 为例 相同域名:172. ...

  9. springMVC通过ajax传参到后台

    JSON对象和JSON字符串 在SpringMVC环境中,@RequestBody接收的是一个Json对象的字符串,而不是一个Json对象.然而在ajax请求往往传的都是Json对象,用 JSON.s ...

  10. jq checkbox 的全选并ajax传参

    /全选按钮 $("#all").click(function(){ if(this.checked){ $(":checkbox").prop("ch ...

随机推荐

  1. 《Effective C#》系列之(五)——优化集合的使用

    一.优化集合的使用 在<Effective C#>这本书中,优化集合的使用是其中一章的内容.以下是该章节的一些核心建议,以及使用C#代码示例说明: 使用泛型集合:泛型集合可以避免装箱和拆箱 ...

  2. Apache ShenYu 网关正式支持 Dubbo3 服务代理

    简介: 本文介绍了如何通过 Apache ShenYu 网关访问 Dubbo 服务,主要内容包括从简单示例到核心调用流程分析,并对设计原理进行了总结. 作者:刘良 Apache Dubbo 在去年发布 ...

  3. 利器解读!Linux 内核调测中最最让开发者头疼的 bug 有解了|龙蜥技术

    ​简介:通过在Anolis 5.10 内核中增强 kfence 的功能,实现了一个线上的.精准的.可定制的内存调试解决方案. 编者按:一直持续存在内核内存调测领域两大行业难题: "内存被改& ...

  4. 网易游戏基于 Flink 的流式 ETL 建设

    简介: 网易游戏流式 ETL 建设实践及调优经验分享- 网易游戏资深开发工程师林小铂为大家带来网易游戏基于 Flink 的流式 ETL 建设的介绍.内容包括: 专用 ETL EntryX 通用 ETL ...

  5. 用python编写向通信产品发送AT指令的程序实例

    一.安装pyserial包pip install pyserial 二.实例代码 # -*- coding: utf-8 -*- import time import hashlib from ser ...

  6. [FAQ] 对于 Puppeteer 和 Chromium 在 Linux 上的安装,需要安装哪些依赖库

      比如 puppeteer/chrome/linux-114.0.5735.133/chrome-linux64/chrome 到底要装哪些依赖. 一般根据报错提示,安装缺少的即可,以下是一般需要的 ...

  7. [Go] 注意 go build -o <output> 选项的准确含义

    -o <output> 选项强制执行把构建的可执行文件写入到目标文件或者目标目录中. 如果 output 是已存在的目录,那么所有构建好的文件都将写入到该目录中. 注意:如果目录不存在的话 ...

  8. 21.3K star!推荐一款可视化自动化测试/爬虫/数据采集神器!功能免费且强大!

    大家好,我是狂师! 在大数据时代,信息的获取与分析变得尤为重要.对于开发者.数据分析师乃至非技术人员来说,能够高效地采集网络数据并进行分析是一个强有力的工具.今天,我要向大家推荐的是一款功能强大.操作 ...

  9. 经验之谈:我为什么选择了这样一个激进的缓存大Key治理方案

    一.引言 本文将结合我的一次Redis大Key的治理经验,来浅谈一下缓存大Key的治理方案选择.文中主要包括缓存大Key基础知识.大Key治理方案选择.大Key治理案例等,适合有一定开发经验的开发者阅 ...

  10. Go pprof 认知到实践

    快速开始 测试环境:go version go1.22.2 windows/amd64,源代码开源在 https://github.com/oldme-git/teach-study/tree/mas ...