Ajax实例:原生js+thinkphp+ajax
来源:互联网 发布:java.awt 编辑:程序博客网 时间:2024/06/09 23:30
发现很多实例都是jQuery+thinkphp+ajax
所以在这次项目中使用原生ajax的时候遇到的问题查都查不到,是自己一点点调试出来的。
很难忘的一次经历,所以一定要记下来:
先说下ajax技术到底是个什么东东吧。
刚学前端的时候就听说过这个名词,但是项目中一直也没有使用过。
后来有了一些基础之后,知道它是用来和后台交互的,可以实现部分刷新,现在很多复杂的表单填写页面大都会用到ajax技术。
开始找实习以后就在w3chool上看相关知识,实现小demo.也看《高级程序设计》。
前几天终于有机会在自己的项目中使用它,感觉自己进步很多。
ajax全名是:Asynchronous Javascript And XML异步的JavaScript和XML
传统网页中前端拿到后端的数据都是要重新加载页面的,但是ajax使得前端可以只更新部分数据,比如注册的时候,输入用户名,然后点击注册按钮,前端把用户名传给后台,后台发现数据库中已经有这个用户名存在,就会返回【用户名已存在】,这样用户名的input框后面会出现提示【用户名已存在】,而整个页面没有变化
好了废话不多说,先说下ajax在前端实现的过程:
- 创建XHR对象
var xmlhttp; 实例化XHR对象(分为IE56浏览器和其他浏览器)
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest(); }
else{
xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);}发送请求,open方法和send方法
xmlhttp.open(“GET”,”gethint.php?string=”+str,true);
open的三个参数分别的是,方式用post还是get,url,同步还是异步的方式,默认是异步的(true),在这一点上我曾经做过一个小试验,也算是自己越到的一个小坑
string是后台需要get的时候用的名字,str是js中需要发给后台的变量名
url需要根据后台使用框架的路由规则来写监听状态
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200){
……//操作xmlhttp.responseText
}}补充说明:
- 还可以设置超时timeout
可以设置timeout=1000一秒没响应就算超时
然后调用ontimeout函数处理
如果想测试自己url写的是不是有问题,可以把url写到地址栏看看
Ajax对很多刚入门前端的人来说可能听起来很复杂,但是多写写就会发现其实并不复杂,关键是在项目中实践,这样会遇到不同的问题,解决掉问题,你就离Ajax女神更进一步啦~
下一个博客就是我在实际应用中遇到的一个关于同步异步的问题。
- Ajax实例:原生js+thinkphp+ajax
- 原生js ajax 实例
- js原生ajax实例详解
- 原生js的ajax与sturts2实例
- 原生js实现Ajax实例讲解
- 原生js实现Ajax实例讲解
- Ajax原生实例
- THINKPHP AJAX实例代码
- THINKPHP AJAX实例代码
- 原生js封装Ajax
- 原生js实现Ajax
- js原生ajax
- 原生js ajax
- 原生js写ajax
- 原生js实现ajax
- 原生JS实现Ajax
- ajax原生js写法
- 原生js实现ajax
- IOS工程配置
- 浅谈下拉放大
- Docker计划将镜像迁移至Alpine Linux平台,简化容器运行环境
- Android中手势滑动翻页之GestureDetector总结
- Python 元组
- Ajax实例:原生js+thinkphp+ajax
- 欢迎使用CSDN-markdown编辑器
- node_modules文件名或扩展名太长如何删除
- jquery 1.9 浏览器判断
- jsp获取请求路径
- CF Educational Round 12, C
- ID与class的区别
- iOS 之 UIProgressView 使用详解
- [opencv]3.获取摄像头的视频流