JavaScript – 页面加载纯HTML AJAX网站中的替代品

前端之家收集整理的这篇文章主要介绍了JavaScript – 页面加载纯HTML AJAX网站中的替代品前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一个纯 HTML网站上工作,所有页面都是 HTML,与任何服务器端代码无关.

基本上每个对服务器的请求都是使用AJAX进行的,我从表单发送数据,我在处理程序中处理这些数据,然后我返回一个将在客户端处理的JSON字符串.

假设页面中加载了URL中的参数,就像question.html?id = 1.此前,我曾经在Page Load方法中读取此查询字符串,然后从数据库中读取数据等等…

现在,由于它的纯HTML页面,我试图想到一种可以让我这样做的方法,我有一个想法,但它的99%是一个坏主意.

想法是使用JS(页面加载后)读取URL参数,然后进行AJAX请求,然后获取数据并将其显示页面上.我知道,而不是向服务器(Web窗体)发出一个请求,我们现在有两个请求,第一个请求获取页面,第二个请求是AJAX请求.当然这还有很多延迟,因为页面将被加载,而不需要我需要的实际数据.

我的目标是不可能的,还是有成熟的方法

解决方法

Is my goal impossible or there’s a mature approach out there?

最近有很多JavaScript框架围绕这个概念(“单页应用程序”)设计,使页面加载,而没有预先加载任何数据,并通过AJAX访问所有数据.这些框架的一些例子是AngularJS,Backbone.js,Ember.js和Knockout.所以不,这根本就不可能.我建议您了解这些框架和其他框架,以找到一个似乎适合您所在网站的框架.

The idea is to read URL parameters using JS (after the page has loaded),and then make an AJAX request,and then fetch the data and show them on the page.

这听起来好像是个好主意
Here是一个例子,说明如何使用JavaScript从当前页面的URL中提取查询参数.

I know that instead of having 1 request to the server (Web Forms),we are now having 2 Requests,the first request to get the page,and the second request is the AJAX request. And of course this has lots of delays,since the page will be loaded at the beginning without the actual data that I need inside it.

这就是为什么你不应该担心这一点:

>用户的浏览器通常会缓存HTML文件和相关的JavaScript文件,所以第二次访问您的站点时,浏览器将发送请求以检查文件是否已被修改.如果没有,服务器将发回一个短消息,只是说它们没有被修改,并且文件将不再需要再发送.> AJAX响应将仅包含页面所需的数据,而不包含任何标记.因此,检索在服务器上生成页面将涉及比组合可缓存的.html文件和AJAX请求的方法更多的数据传输.因此,即使您提出两个请求而不是一个,总负载时间也应该更少.如果您担心在加载AJAX数据时,用户将看到没有内容页面,您可以(a)在加载数据时使页面完全为空(只要不太慢,这不应该是一个问题),或(b)投掷闪屏告诉用户页面正在加载.再次,用户一般不会在开始时出现少量加载时间的问题,如果页面在此之后是快速的.

猜你在找的Ajax相关文章