AJAX的一个简单实现
2022/4/19 6:14:31
本文主要是介绍AJAX的一个简单实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
源码
AJAX是前后端通讯的桥梁,后端可以获取前端提交的数据,处理后再返回给前端。这里为了演示简便,我们直接把从前端获取的值原样返回。本次使用php作为后台语言,php用法见这里。
先直接上代码:
index.html为主页,index.js为它的js文件。php/main.php是后端php脚本。
index.html:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>Ajax Test</title> 5 <link rel="stylesheet" href="index.css"> 6 <script type="text/javascript" src="index.js"></script> 7 </head> 8 <body> 9 <div class="inputDiv"> 10 <div class="label">INPUT:</div> 11 <input type="textfield" id="inputTextField"/> 12 <button onclick="outPut()">Output</button> 13 </div> 14 <div class="outputDiv"> 15 <div class="label">OUTPUT:</div> 16 <div id="output">[Output at here]</div> 17 </div> 18 </body> 19 </html>
index.js
1 function outPut() 2 { 3 inputStr = document.getElementById("inputTextField").value;//获取文本框的输入 4 console.log(inputStr);//输出到控制台检查js获取是否正确 5 xmlhttp = new XMLHttpRequest();//建立XMLHttpRequest对象 6 7 xmlhttp.onreadystatechange = function() 8 { 9 if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) 10 { 11 document.getElementById("output").innerHTML = xmlhttp.responseText;//设置输出Div的innerHTML,设置为XMLHttpRequest对象返回的文本 12 } 13 } 14 15 xmlhttp.open("GET","php/main.php?q=" + inputStr,true); 16 xmlhttp.send(); 17 }
main.php
要注意有的html页面中,由于要包含php代码,后缀名也会是php,需要跟后端的脚本php区分。这里我把脚本php文件放在了php目录下。
<?php //$q = isset($_GET["q"]) ? intval($_GET["q"]) : ''; $q = $_GET["q"]; echo $q; ?>
解析
发送ajax时,首先要new一个XMLHttpRequest对象,使用它的open()方法与send()方法发送http请求。
open():
使用这个方法创建http请求,参数一共有五个,详见这里。文中的意思是使用GET请求,使用php下main.php脚本,url内嵌的q为文本框输入的内容,异步。
send():
发送请求。
然后在后台脚本中,用$_GET获取url内嵌的q的值,然后就可以开始数据处理了。但是本次我们就直接echo回去。
最后当onreadystatechange时,把html页面中输出div的innerHTML设为后台响应的数据。这里的responseText就是刚才php中echo的$q。
readyState:
当数据接收完毕时,readyState值为4。
status:
status是http状态码,200表示成功。
这篇关于AJAX的一个简单实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-13怎么通过 JavaScript 或其他编程语言来实现监听屏幕高度变化功能?-icode9专业技术文章分享
- 2024-11-12聊聊我们那些年用过的表达式引擎组件
- 2024-11-12让项目数据更有说服力:五款必备数据可视化管理工具推荐
- 2024-11-12人到一定年纪,要学会远离多巴胺
- 2024-11-12解读:精益生产管理的目的是什么?如何操作?
- 2024-11-12Sku预研作业
- 2024-11-12文心一言API密钥:分步申请指南
- 2024-11-12初学者指南:轻松掌握后台交互
- 2024-11-12从零开始学习:封装基础知识详解
- 2024-11-12JSON对象入门教程:轻松掌握基础用法