前言使用浏览器访问网站是日常生活中必不可少的事情。当我们在浏览器地址栏中输入网址时,就会看到网站的内容。那么在这个过程中发生了什么?下面简单介绍一下浏览器访问网站的过程。第一步:浏览器向DNS服务器发起DNS请求,DNS服务器解析域名并返回该域名对应的网站服务器IP地址第二步:浏览器获取到IP地址后,发送一个HTTP请求到Web服务器第三步:Web服务器解析浏览器发出请求后,从数据库中获取资源,将生成的html文件封装成HTTP响应包,返回给浏览器进行解析和响应第四步:浏览器解析完HTTP响应后,下载html文件,然后根据文件中包含的外部引用文件、图片或多媒体文件,逐步下载,最后将获取到的所有文件渲染成一个完整的网站页面。下图是GET请求到达HTML文件后,继续请求多个JS和CSS文件。在服务器端进行逻辑运算和数据处理,为前端提供访问服务。所谓前端和后端只是从代码执行的地方来区分的。前端代码在用户面前执行,后端代码在远程服务器上执行。但是,无论是前端还是后端代码,都是保存在服务器上的,只有在浏览器请求时才会从服务器发送过来。AJAX介绍在上面的web应用的工作原理中,我们通过HTTP协议访问一个存在于服务器端的文件。服务器可以找到该文件并将其内容封装成HTTP请求,以消息体的形式返回给客户端。但是这种方式只能访问静态页面,不能与后台数据库进行交互。由于用户需要通过web前端与后台数据库进行实时交互,因此网页也需要动态更新。如果每条数据都通过重新获取Html文件来更新,势必会导致网络负载增加,页面加载缓慢。而Ajax技术可以很好的解决这个问题。Ajax,或异步JavaScript和XML,是一种用于创建交互式网页的技术,可以更新网页的部分内容而无需重新加载整个网页。目前jQuery库提供了几种与AJAX相关的方法。通过jQueryAJAX方法,可以使用HTTPGet和HTTPPost向远程服务器请求文本、HTML、XML或JSON,同时这些外部数据可以直接加载到网页的选定元素中。jQuery库作为Web开发者广泛使用的JavaScript封装库之一,可以大大简化我们的JavaScript编程,减轻浏览器不兼容带来的影响。要知道网页在不同浏览器中的兼容性测试也是一项很大的工作。我们可以通过一个简单的例子来发现jQuery库的优势:$("p.neat").addClass("ohmy").show("slow");通过上面的短代码,开发者可以遍历“neat”类的所有
元素,然后给它们添加“ohmy”类,同时慢慢地为每个段落添加动画效果。开发者无需检查客户端浏览器类型,无需编写循环代码,无需编写复杂的动画功能,仅需一行代码即可实现上述效果。jQuery的口号“用最少的代码做最多的事情”果然名不虚传,它把JavaScript提升到了一个更高的层次。JSON格式介绍对于交互式数据格式,这里使用JSON(JavaScriptObjectNotation),它是一种轻量级的数据交换格式,使用完全独立于编程语言的文本格式来存储和表示数据。JSON键值的层次结构简洁明了,易读易写,使JSON成为一种理想的数据交换语言。举个例子理解JSON数据格式:{//JSON键/值对"'wJsona'":"kkk""'wjsonb'":"12""'wjsonc":"80"}代码实现下面介绍前端jQuery.ajax()方法请求JSON数据,代码如下:functionuseTestFun(){$.ajax({url:"/Usedefine",//获取数据的URLdata:JSON.stringify({ksona"w"','Wjsonb':12,'wjsonc':80,}),type:"Post",//http请求方法dattype:'json',//获取数据执行方法成功:function(data){if(data.Status=='TRUE'){//传入JSON对象格式alert('连接成功');}else{$("#labletip").show();},error:function(err){Alert){Alert)('连接失败');}});}在数据传输的时候,JSON是以文本的形式传递的,也就是字符串,而JS是对JSON对象进行操作的,所以JSON对象和JSON字符串的交互是关键,可以使用JSON.stringify()进行转换JSON对象转成JSON字符串,使用JSON.parse()转换JSON字符将字符串转换为JSON对象JSON字符串:varstr1='{"name":"cxh","sex":"man"}';JSON对象:varstr2={"name":"cxh","sex":"man"};varobj=str.parseJSON();//从JSON字符串转换为JSON对象varobj=JSON.parse(str);//从JSON字符串转换为JSON对象varlast=obj.toJSONString();//将JSON对象转换为JSON字符varlast=JSON.stringify(obj);//将JSON对象转换为JSON字符使用第三方JSON库处理JSON数据,返回JSON数据时将HTTP协议的Content-Type字段设置为"application/json"。