Ajax实例:原生js+thinkphp+ajax

本文介绍了作者首次在项目中使用Ajax技术的经历,包括Ajax的基本概念、前后端交互原理及其实现过程。通过具体实例展示了如何利用原生Ajax与ThinkPHP框架进行数据交换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发现很多实例都是jQuery+thinkphp+ajax
所以在这次项目中使用原生ajax的时候遇到的问题查都查不到,是自己一点点调试出来的。
很难忘的一次经历,所以一定要记下来:


先说下ajax技术到底是个什么东东吧。
刚学前端的时候就听说过这个名词,但是项目中一直也没有使用过。
后来有了一些基础之后,知道它是用来和后台交互的,可以实现部分刷新,现在很多复杂的表单填写页面大都会用到ajax技术。
开始找实习以后就在w3chool上看相关知识,实现小demo.也看《高级程序设计》。
前几天终于有机会在自己的项目中使用它,感觉自己进步很多。


ajax全名是:Asynchronous Javascript And XML异步的JavaScript和XML
传统网页中前端拿到后端的数据都是要重新加载页面的,但是ajax使得前端可以只更新部分数据,比如注册的时候,输入用户名,然后点击注册按钮,前端把用户名传给后台,后台发现数据库中已经有这个用户名存在,就会返回【用户名已存在】,这样用户名的input框后面会出现提示【用户名已存在】,而整个页面没有变化
好了废话不多说,先说下ajax在前端实现的过程:

  1. 创建XHR对象
    var xmlhttp;
  2. 实例化XHR对象(分为IE56浏览器和其他浏览器)
    if (window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest(); }
    else{
    xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);}

  3. 发送请求,open方法和send方法
    xmlhttp.open(“GET”,”gethint.php?string=”+str,true);
    open的三个参数分别的是,方式用post还是get,url,同步还是异步的方式,默认是异步的(true),在这一点上我曾经做过一个小试验,也算是自己越到的一个小坑
    string是后台需要get的时候用的名字,str是js中需要发给后台的变量名
    url需要根据后台使用框架的路由规则来写

  4. 监听状态
    xmlhttp.onreadystatechange=function()
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
    ……//操作xmlhttp.responseText
    }}

  5. 补充说明:

  6. 还可以设置超时timeout
    可以设置timeout=1000一秒没响应就算超时
    然后调用ontimeout函数处理
    如果想测试自己url写的是不是有问题,可以把url写到地址栏看看

Ajax对很多刚入门前端的人来说可能听起来很复杂,但是多写写就会发现其实并不复杂,关键是在项目中实践,这样会遇到不同的问题,解决掉问题,你就离Ajax女神更进一步啦~

下一个博客就是我在实际应用中遇到的一个关于同步异步的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值