提到axaj很多人总说很难,什么回调函数呀等等就让人心烦,其实懂得ajax在js里面是如何实现向服务器请求数据的原理,那么理解ajax也就不是很难了,现在我们一起来看看。

ajax作用:ajax技术的目的是让javascript发送http请求,与后台通信,获取数据和信息。实现前后端分离。ajax技术的原理是实例化xmlhttp对象,使用此对象与后台通信。ajax通信的过程不会影响后续javascript的执行,从而实现异步。

在js里面ajax主要解决的问题就是:不刷新当前页面,把某些数据传递给服务器,把某些数据从服务器拿回客户端。

下面就是具体代码了。我们写一个程序让其前后端分离,前端操作可以让后端得到响应,并从后端取得响应的数据

一·在html里的五步走策略:   

1.建立AJAX核心对象
var xhr=new XMLHttpRequest();
 
2.添加预加载;指如果xhr对象的预备好的状态发生了变化时,触发函数。
xhr.addEventListener("load",loadHandler);
 
3.建立连接
    //
建立连接里参数问题:
语法:    xhr.open("get", url, true);
 备注:open() 方法中   第1个参数指请求的发送方式,值为get或post。     第2个参数指请求的url路径就是你写的php文件 的路径,?后面是所携带get所要获得的相关信息。     第3个参数指请求是异步还是同步,如果写true表示异步(默认true), 写false表示同步。
4.向服务器发起请求
xhr.send();     
 
语法:    xhr.send();
 备注:     如果是get方式发送请求,send()命令中不用写任何参数         传递的数据可以写在url中,服务器用$_GET[“参数名”]接收。    
 如果是post方式发送请求,需要设置请求头才能正确把数据传递给后端页面。 我们这里采用的是get方式,所以不用写任何参数。      
  xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');       xhr.send(“数据名1=数据值&数据名2=数据值”),服务器用$_POST[“参数名”]接收。
5.声明预加载函数;接收响应 
 
function loadHandler(){
 获取并使用服务器的响应
console.log(xhr.response);
 
}

二· 在php文件里面

三步骤:

   header("content-type:text/html;charset=utf-8");
   设置字符编码
header("Access-Control-Allow-Origin:*");
设置Access-Control-Allow-Origin来实现跨域访问(因为不同的域名默认不允许之间不可以相互通信)
echo $_GET["user"]."今天心情很好";
所要交给前台的数据
四.实现访问:
    将写好的php文件放入到phpStydy  的 www的文件夹内,如下图:
    1.找到phpStyle的安装目录
  

2.打开找到www文件夹

3.将你写好的PHP文件复制到www文件夹里面去,如我刚写的index.php文件;

4.现在实现简单的ajax的访问;

现在运行你的html代码:

此时就会实现页面不刷新,就可以访问php的数据了

Ajax如何实现从前端不刷新页面就可以到后端取到数据的更多相关文章

  1. ajax的分页查询(不刷新页面)

    既然是分页查询,那么就要有张数据很多的表,可以让它进行分页显示,用普通的方法进行分页查询必然是要刷新页面的,这里要实现不刷新页面进行分页显示数据,就要用到ajax方式.进行编写代码 (1)先写个显示数 ...

  2. 使用Ajax上传图片到服务器(不刷新页面)

    有时候我们需要上传图片时不刷新页面,那么Ajax就是很好的东西哦.之前在网上找了很多的资料都不对,不是这里就是那里错,这是本人亲自测试了的哈,是没有问题的,若有不足之处希望指正.我用的.net,对了这 ...

  3. Ajax异步调用http接口后刷新页面

    使用Ajax的目的就是提高页面响应速度,无需同步调用,无需整个页面刷新.这里直接在html中使用js来实现: 先获取XMLHttpRequest对象 var xmlHttp; //创建一个xmlHtt ...

  4. jquery mobile页面跳转后,必须重新刷新页面js方可有效

    最近在做个项目,用到jquery mobile,很陌生对他,问题一个个的来,那就要一个个解决,找了一天这个问题,放可明白:首先明白jqm里面页面跳转默认都是通过ajax请求的,必须重新刷新页面js方可 ...

  5. Vue刷新页面VueX中数据清空了,怎么重新获取?

    Vue刷新页面VueX数据清空了,怎么重新获取? 点击打开视频讲解更详细 在vue中刷新页面后,vuex中的数据就没有了,这时我们要想使用就要重新获取数据了, 怎么在刷新后重新获取数据呢??? 这时我 ...

  6. Ajax 实现无刷新页面

    注意:如本文所用,在前面的文章库的数目可以在源代码中找到,我将指示在文本,其中链路,为了缩短制品的长度,阅读由此带来的不便.乞求被原谅. 评论文章 Ajax 实现无刷新页面.其原理.代码库.代码. 这 ...

  7. JSF中使用f:ajax标签无刷新页面改变数据

    ajax本是用在前端的一种异步请求数据的操作,广泛用于js中,一般的js框架如jq都有被封装好的方法,用于发起异步请求操作.异步操作可以增强用户体验和操作,越来越多的程序都在使用ajax.JSF的fa ...

  8. 不使用Ajax,如何实现表单提交不刷新页面

    不使用Ajax,如何实现表单提交不刷新页面? 目前,我想到的是使用<iframe>,如果有其他的方式,后续再补. 举个栗子: 在表单上传文件的时候必须设置enctype="mul ...

  9. Ajax– 刷新页面 【转】

    jquery刷新页面(局部及全页面刷新) 2009-12-31 11:39:32|  分类: javascript|举报|字号 订阅 局部刷新: 这个方法就多了去了,常见的有以下几种: $.get方法 ...

随机推荐

  1. DotNetCore 部署到IIS 上

    将 DotNetCore MVC 项目成功部署到 IIS 上,记录下配置要点: 1.在 ASP.NET Core 应用中使用 Kestrel Microsoft.AspNetCore.App 元包中包 ...

  2. 虚拟蜜罐honeyd安装使用

    转https://blog.csdn.net/jack237/article/details/6828771

  3. Thanks David's Share

    2019.4.12 Today, we got the invitation letter from US, when we discuss the journey, i saw perfect sh ...

  4. 2600 Phrases for Effective Performance Reviews

    Adaptability and Change Management Skills 适应与变革管理技能能够接受频繁的任务转换.员工适应经常在不停的切换于不同的任务中,就是正常的,就是能够正常切换自己分 ...

  5. DHCP的IP地址租约、释放

    转自:https://blog.csdn.net/wangdk789/article/details/27052505 当DHCP客户端获取到一个IP地址后,并不代表可以永久使用这个地址,而是有一个使 ...

  6. 解决 httpclient 下 Address already in use: connect 的错误

    最近做httpclient做转发服务,发现服务器上总是有很多close_wait状态的连接,而且这些连接都不会关闭,最后导致服务器没法建立新的网络连接,从而停止响应. 后来在网上搜索了一下,发现解决的 ...

  7. js--深拷贝与浅拷贝

    对象:只针对于Object和Array这样的引用数据类型 说明:浅拷贝只复制指向某个对象的指针,而不是复制对象的本身,新旧对象还是共享一块内存.但深拷贝会另外创造一个一模一样的对象,新的对象跟原对象不 ...

  8. cv2.getRotationMatrix2D函数

  9. 在微信小程序中将获取到的经纬度(经度纬度)转地址(地名)

    var QQMapWX = require('qqmap-wx-jssdk') var qqmapsdk = new QQMapWX({ key: '填写你的key' // 必填 }) wx.getL ...

  10. 证明:对于一棵二叉树,若度为2的结点有n2个,叶子结点有n0个,则n0=n2+1

    假设二叉树的0度,1度,2度结点数分别为\(n_0\),\(n_1\),\(n_2\),总节点数为\(T\) 则按照结点求和有 \[T=n_0+n_1+n_2 (1)\] 按照边求和,因为节点数等于边 ...