ajax
1:什么是ajax 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新,可以局部刷新而不必整个页面整体刷新 2:如何与服务器进行数据交换? 首先,需要自己搭建服务器,在服务端的环境中可运行PHP语言 从网页进入服务器有三种基本方式: 1.?ip+端口号 2.?localhost:+端口号 3.??127.0.0.1+端口号 然后,和服务器端的php页面建立联系 ? 3:ajax:发送请求 3.1:创建ajax对象-xmlhttprequest对象 新版本浏览器:variable = new XMLHttpRequest(); variable = new ActiveXObject("Microsoft.XMLHTTP") var xhr; ? // 2.通过监听ajax的状态的改变来监听 // 3.创建请求的消息,连接服务器 状态码0=>1 // 4.发送 // ?0: 请求未初始化
? 4:使用ajax发送get请求: <h1>使用ajax发送get请求</h1> <!-- 服务端如果用户名存在返回1 不存在返回0 --> 用户名:<input type="text" id="username"> <span id="ts"></span> <br> 密码:<input type="text"> <button id="btn">验证用户名</button> <script> var username = document.getElementById("username"); var btn = document.getElementById("btn"); var ts= document.getElementById("ts"); // 点击btn发送ajax请求 btn.onclick = function(){ // 1.创建xhr var xhr; if(window.XMLHttpRequest){ //常规,如果有,直接使用 xhr = new XMLHttpRequest(); }else{ //如果没有,老版本IE xhr = new ActiveXObject("Microsoft.XMLHTTP"); } // 2.绑定监听函数 xhr.onreadystatechange = function(){ if(xhr.readyState == 4){ if(xhr.status == 200){ console.log(xhr.responseText) if(xhr.responseText == 1){ ts.innerHTML = "该用户名已经被注册" }else if(xhr.responseText == 0){ ts.innerHTML = "该用户名可以使用" } } } } // 3.建立连接 xhr.open("GET","08.php?uname=" + username.value,true); // 正则验证 // 4.发送请求 xhr.send(null) } //get是直接可以在地址栏中调试 5:使用ajax发送post请求: <h1>使用ajax发送post请求</h1> <!-- 失焦验证 正则验证: 姓名3-10小写字母 成绩: 0-99 --> 学生姓名:<input type="text" id="uname"><br> 学生成绩:<input type="text" id="score"><br> <button id="btn">注册</button> <p id="p01"></p> <script> function get_id(id){ return document.getElementById(id); } var uname = get_id("uname"); var score = get_id("score"); var btn = get_id("btn"); var p01 = get_id("p01"); var reg_name = /^[a-z]{3,10}$/g; var reg_score = /^d{1,2}$/g; var uname_flag = false; uname.onfocus = function(){ reg_name.lastIndex = 0; this.style.border = ‘1px solid #000‘ uname_flag = false; } uname.onblur = function(){ if(reg_name.test(uname.value)){ this.style.border = ‘1px solid #0f0‘; uname_flag = true; }else { this.style.border = ‘1px solid #f00‘ } } btn.onclick = function(){ if(uname_flag){ // 1. var xhr; if(window.XMLHttpRequest){ //常规,如果有,直接使用 xhr = new XMLHttpRequest(); }else{ //如果没有,老版本IE xhr = new ActiveXObject("Microsoft.XMLHTTP"); } // 2. xhr.onreadystatechange = function(){ if(xhr.readyState == 4){ if (xhr.status == 200) { console.log(xhr.responseText); p01.innerHTML = xhr.responseText; } } } // 3. xhr.open(‘POST‘,‘http://localhost:8888/0220ajax/09.php‘,true); // 3.5 在发送post请求的时候,你得告诉服务器你发送的是一个什么 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); // 4.发送 xhr.send(‘strName=‘ + uname.value + ‘&strScore=‘ + score.value); } } </script> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ios – 使用UIActivityViewController与Facebook Messenger
- postgreSQL GROUP BY
- actionscript-3 – 在AS3中,int总是比Numbers / Floats快吗
- locust性能测试
- 如何使用SQLite数据库,android SQLiteOpenHelper使用实例
- 桩破除依赖7-克服封装问题
- ruby-on-rails – 在生产Rails应用程序中应该将raise_deliv
- 本人译作《Dojo构建Ajax应用程序》互动网已开使接受预订
- c# – log4net配置 – 找不到节
- ruby-on-rails – 如何使用Ruby on Rails测试AJAX?