6个必须用到Ajax的地方and 6个不需要Ajax地方

2d游戏地图编辑器_[U3D]基于MarchingCubes实现的War3Editor 地表/悬崖编辑器 花了几天时间研究清楚Marching cubes后,发现这个方法是一个非常适用于地图编辑,网格编辑,procedural 生成的工具。最大的优点有着较好的边缘,表面处理。然后我用U3D写了一个悬崖/地表的编辑器。其中使用到了Marching Cubes的2.5D,2D两种降维的方法。talk is cheap,让我看效果!DemoEditor展示https://www.zhihu.com/vide... 阅读详情
下面是当前网页应用程序应该出现的地方:
基于表单的交互
表单是很慢的,非常慢。尝试编辑位于 del.icio.us 上面的一个书签?点击编辑链接打开一个编辑书签的表单页面,然后编辑你的内容并点击提交按钮等待整个提交过程结束,最后返回上一页并向下滚动到你刚才编辑的书签那里查看内容是否已经正确更改。那 AJAX 呢?点击编辑链接马上开始更改标签内容,点击提交按钮开始异步传输标签编辑的内容并立即看到更改后的内容而无需重载整个页面。
 
深层树状导航
总而言之,带有深层树状导航的应用程序通常是一个噩梦。在大多数情况中简单平直的拓扑结构以及搜索 / 标记可以很好的工作。但是如果一个应用程序真正使用深层树状导航,使用 JavaScript 来管理拓扑 ui(user interface 用户接口 ) ,则使用 Ajax 懒加载深层数据可以降低服务器的负载。举例来说,为了阅读一个只有一行的结果来加载整个一个新页面是非常耗时的。
 
实时用户对用户通讯
在一个允许用户创建实时讨论的信息公告系统中, 迫使用户一次又一次的更新完页面看到答复是非常愚蠢的。回复应该是实时的,用户不应被迫总是去痴迷于刷新操作。即使是 gmail 这个已经对以前像 hotmail/yahoo mail 的收件箱刷新,刷新收件箱标记的操作有所改进,也并没有充分的使用 Ajax 的功能来提示有新邮件到达。
 
投票、是否选择、等级评价
如果 Ajax 提交过程没有一个协调的 UI 提示是非常糟糕的,通过使用 Ajax 来提交一个调查或是否选择可以减少提交过程等待的痛苦。通过减少点击的等待时间, Ajax 应用程序变得越来越有交互性 - 如果要用 40 秒来提交一个投票,除非非常在意的话大多数人会选择放弃。如果只花 1 秒呢,非常大比例的人会乐于参加投票的。(我在 Netflix versus 有 2008 张电影投票在 IMDb.com 有 210 张电影投票)
 
过滤和复杂数据操作
应用一个过滤、按日期排序、按日期和姓名排序、打开或关闭过滤器等等。任何一种高交换型操作应该交给 JavaScript 来处理而不是通过向服务器来提交一系列的请求。在查找或者操作大量数据的时候带来的视图上的改变最多不会超过 30 秒, Ajax 真的使这些操作加速了。
 
普通录入时的提示/ 自动补齐
一些软件 /JavaScript 是擅长于帮助用户完成键入相同的文字或可以预测的文字的工作的。在 del.icio.us 和 Gmail 中该功能是非常有益的,可以用来快速增加标记 /email 等。
 
对于一个频繁使用的应用程序诸如网页邮件客户端或博客阅读器来说,用户有充足的时间来学习如何使用新的UI概念但是他们却无法接受一个非常缓慢的反应速度。这种应用为Ajax变的更加普及起到了一个完美的杠杆作用。随着用户使用频率的增加,更多的Ajax部件应该加强用户的使用体验。
但是对于网页应用程序来说,把每件事甚至任何事都用JavaScript来实现也是没有意义的。Ajax只是针对一些特定的环境才能带来显著的帮助。在Ajax出现之前网页应用程序已经可以工作的很好了并且目前在网页开发中Ajax还存在着许多的缺陷和缺点。就算不从服务器端取得一个异步的信息数据流一个平直的html网页日志也可以工作的很好。对于文档或文档之间的跳转来说,老旧的纯HTML仍然是最好的选择。简单或很少使用的应用程序就算不用JavaScript同样可以很好的工作。
 
下面是一些不应该用到Ajax 的地方:
 
简单的表单
就算表单是 Ajax 技术的最大受益人,一个简单内容的表单,或提交订货单,或一次性的很少用到的表单都不应该使用以 Ajax 驱动的表单提交机制。总的来说,如果一个表单不是很长用,或已经工作的很好,那么就算使用 Ajax 也没有什么帮助。
 
搜索
实时搜索带来的痛苦要远大于他带来的帮助。这就是为什么 Google Suggest 还处于 beta 测试而并没有放在主页上的原因。在 Start.com Live.com 上搜索的时候你是不能使用返回按钮来查看上一次搜索或返回上一页的。或许还没有人来完成这项工作,但是完成这个工作应该是很困难的至少是不太明知的或者会因此带来更多的麻烦。(译注:现在已经有很多开源的框架可以实现历史记录功能)
 
基本导航
总的来说,使用 Ajax 为一个基础的网站 / 程序做导航是一个可怕的念头。谁会把用来使自己的程序变的更好的时间花在编写代码模仿浏览器的行为上面?在基础页面中导航的操作中 JavaScript 是没有用的。
 
替换大量的信息
Ajax 可以不用整页刷新来动态更新页面中改变的一小部分。但是如果一页上的大部分内容都需要更新,那为什么不从服务器那里获得一个新页面呢?
 
显示操作
虽然看上去 Ajax 是一个纯 UI 技术,其实不是这样的。他实际上是一个数据同步、操作、传输的技术。要想得到一个稳定的干净的网页程序,不使用 Ajax/JavaScript 来直接完成用户接口是明智的。 JavaScript 可以分散分布并简单的操作 XHTML/HTML DOM ,根据 CSS 规则来决定如何让 UI 显示数据。查看
来查看如何使用 CSS 来替代 JavaScript 来控制数据的显示。
 
无用的网页小部件
滑块选择控件、拖拽控件、弹性控件(此处原文为 bouncies ,不知指为何物?)、鼠标样式、天气预报控件,这些小部件应该可以被更直接的控件代替或者为了整洁干脆整个去掉。为了选择一种颜色,也许滑块选择控件可以选择一个正确的阴影颜色,但是在一个商店中选择一个价格,使用滑块选择控件选到分这个单位对于用户来说有点过分。 
实验7:机器学习油田产量预测-代码数据-完整代码数据可直接运行-计算机毕设 阅读详情

相关推荐

【嵌入式原理系列-第七篇】ld脚本实战:从零构建MCU内存布局

本文是一篇针对嵌入式开发者的实战指南,详细讲解了如何从零开始为MCU编写ld链接器脚本以构建自定义内存布局。文章以STM32F103C8T6为例,深入剖析了MEMORY和SECTIONS指令的用法,并提供了OTA分区、非易失数据存储等高级定制案例,帮助开发者解决实际工程中的Flash与RAM管理难题,实现对程序运行的深度掌控。

weixin_29271263的博客 249

不使用ajax,使用script标签自己封装,调用jsonp接口

原来调用jsonp接口,都使用的ajax方式 首先封装了一下ajax的get调用方法 var $get = function(url,data){ return $.ajax({ dataType:'jsonp', data:data, url:url+"&callback=?" }); }; 具体功能调用方法: var jsonpUrl='host域名/方法keepus...

jasmine129的博客 694

Matlab:常见涡旋光束仿真

代码: clc clear all close all %% 环形涡旋光束 N = 200; lambda = 632e-9; %波长为632nm k = 2*pi/lambda; %波数 w0 = 3; %束腰半径 x = linspace(-10,10,N); y = linspace(-10,10,N); [X,Y] = meshgrid(x,y); [t...

zzz997的博客 3万+

请求除了ajax,JS代替ajax向服务端请求的新方案:fetch

fetch跨网络异步获取资源的功能以前是使用XMLHttpRequest对象实现的,Fetch API提供了更好的替代方案,可以很容易的被其他技术使用(如Servise Workers)fetch,说白了,就是XMLHttpRequest的一种替代方案。如果有人问你,除了Ajax获取后台数据之外,还有没有其他的替代方案?你就可以回答,除了XMLHttpRequest对象来获取后台的数据之外,还可以...

weixin_34233974的博客 1128

PowerBI参数化实战:3分钟搞定动态数据源切换(附常见错误排查)

本文详细介绍了PowerBI参数化实战技巧,教你3分钟实现动态数据源切换。通过创建参数、改造查询和测试切换三步,轻松应对多环境部署与团队协作中的路径问题,并附上常见错误排查指南,有效提升报表的可维护性和工作效率。

p1q2r的博客 585

STM32铅酸蓄电池内阻测试仪的交流阻抗测量与数据采集优化

本文深入探讨了基于STM32的铅酸蓄电池内阻测试仪设计,重点解析了交流阻抗测量原理与数据采集优化方案。通过采用1kHz交流小信号注入和数字相敏检波技术,实现对电池欧姆内阻的无损精准测量,并详细介绍了硬件前端调理、ADC过采样及系统标定等关键优化手段,有效提升了测量精度与稳定性。

weixin_29168393的博客 487

必须用到和不必使用ajax的地方

  文章引自csdn读书频道现在距离gmail改变了大家对使用网页应用程序的方式已经有一年多了。但是目前很多网页应用程序并没有使用充满活力的Ajax的优势来代替以前沉闷的html功能。下面是当前网页应用程序应该出现的地方: 基于表单的交互表单是很慢的,非常慢。尝试编辑位于del.icio.us上面的一个书签?点击编辑链接打开一个编辑书签的表单页面,然后编辑你的内容

小竹的专栏 611

谷粒商城学习笔记-15-数据库初始化

这一节的主要内容是把创建对应的数据库和数据库表。

epitomizelu的专栏 1438

js 中ajax请求时设置 http请求头中的x-requestd-with= ajax

今天发现 AngularJS 框架的$http服务提供的$http.get() /$http.post()的ajax请求中没有带 x-requested-with字段。 这样的话,后端的php 就无法判断 接受的http请求是否是 ajax请求了。 怎么办呢,显然就是给http 请求头中 加上这个字段就可以了。 1、AngularJS 中可以这样子: I don't know well M...

weixin_34185512的博客 502

Qt跨平台CAN通信实战:Vector、PCAN与周立功设备统一接口设计

本文针对Qt开发中常见的多品牌CAN设备兼容难题,提出了一套统一的跨平台CAN通信接口设计方案。通过抽象层封装,实现了对Vector、PCAN和周立功设备的统一操作,上层业务代码无需修改即可在不同硬件间切换,有效解决了驱动API差异、环境配置复杂和维护成本高等痛点,显著提升了代码复用率和开发效率。

weixin_29161785的博客 332

用python画带有正负值的条形图

常见的条形图只能表现数据的大小,却不能表现值的正负关系。但是其实仅仅使用`pandas`和`matplotlib`两个包就可以实现y轴负轴的添加以及负值的显示,并且可以为正负值分别设置不同的颜色,让条形图看上去更加清晰,易于我们分析

weixin_44853840的博客 5384

不用AJAX实现前台JS调用后台C#方法

步骤如下:1 前台放一个按钮。设置为隐藏。注意:不能直接设置Visible=false的方式,这样的话在ASP.Net 2.0编译后的代码里是找不到这个按钮的。需要设置风格:style="display:none;"2 双击按钮,写入C#方法,或者写一个调用后台其他方法的代码段3 前台JS调用的时候,照如下写,这样可以模拟按钮的点击事件,触发后台方法:document.getElementById

老农写代码 3374

Win7/10/11文件拖拽导致资源管理器闪退问题

最近老是遇到把文件从资源管理器拖动到微信或者浏览器时,资源管理器直接闪退的问题,一开始在公司遇到了还以为是电脑配置太低,直到被封闭在家办公,发现自己的高级电脑也有这个问题,那就来了解了解问题是出在什么地方把。

Nicer_feng's blog 1万+

Oracle: Automatic Subprogram Inlining

Every call to a procedure or function causes a slight, but measurable, performance overhead, which is especially noticeable when the subprogram is called within a loop. Avoiding procedures and functio

属牛 636

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Oracle: Automatic Subprogram Inlining

为什么80%的码农都做不了架构师?>>> ...

weixin_34397291的博客 98

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

前端调用接口除了ajax,前端常见的接口调用的方式

接口调用的方式有哪些原生ajax基于jQuery的ajaxfetchaxios前面两种不再多说,主要介绍后面两种接口调用的方式。一、原生ajaxAjax 的实现步骤创建 Ajax 对象var xhr = new XMLHttpRequest();告诉 Ajax 请求地址以及请求方式xhr.open('get', 'http://www.example.com');发送请求xhr.send();获取...

weixin_31947395的博客 3344

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

JavaScript简易封装,可以不用去ajax,直接用标签,任何标签发送请求

封装了一个特别简单的好玩的小插件,引入xiaohu.js就可以使用了,用任意一个节点,就可以实现ajax请求 可以是一个<p></p>标签,也可以是一个<div></div> 还可以绑定事件,可以是 click/mouseover #id 节点id 必填 #type 请求方式 必填 #url 请求路径 必填 #behavior ...

王海虎的博客 1250

不用框架使用ajax 纯js使用ajax post,get范例及其区别

JS AJAX .http://hi.baidu.com/handboy var xmlHttp; function createxmlHttpRequest() { if(window.ActiveXObject) xmlHttp = new ActiveXO

sushe512 826

不用AJAX实现前台JS调用后台C#方法(小技巧)

一提到如何在前台JS调用后台C#方法,AJAX成为了必然的想法。 只是实现的细节采用AJAX 1.0或者AjaxPro的区别。 其实如果不用AJAX,我们也能够很方便地利用JS调用后台方法。 步骤如下: 1 前台放一个按钮。设置为隐藏。注意:不能直接设置Visible=false的方式,这样的话在ASP.Net 2.0编译后的代码里是找不到这个按钮的。需要设置风格:style="dis

飞鸟的博客 1082

Day28 XD安全学习笔记--JS 应用&原生开发&Query库&Ajax 技术&前端后端&安全验证处理

本节课讲解了前端验证绕过技巧:文件上传通过删除onchange事件和修改表单提交地址,绕过JS后缀过滤上传恶意文件;登录验证利用Ajax请求抓包,篡改响应中的infoCode从0改为1实现免登录;购物漏洞同理,通过修改返回数据绕过验证。均体现前端验证可被轻易绕过,强调安全验证应部署在后端。

一支蜉蝣的博客 339

大数据Spark(八十五):Stage及Spark计算模式

本文详解Spark中Stage的划分机制与Pipeline计算模式。Stage依据RDD宽依赖(Shuffle)划分为ShuffleMapStage和ResultStage,同一Stage内通过迭代器串联多个RDD,实现数据内存流转,减少落盘开销,提升效率。并行度由最后一步RDD的分区数决定,可通过Shuffle算子调优。结合SparkUI可直观分析性能瓶颈,是优化作业的关键基础。

Lansonli(蓝深李)的博客 764

Web 版翻译者资料库

本项目是桌面版《翻译者资料库》的 Web 移植版,基于 Spring Boot 3.3、Thymeleaf、Bootstrap 5.3 与 MySQL 8.0 构建。它面向翻译写作提供资料、词汇、句库、文本工具、对照制作、查找、备份恢复及旧库迁移等功能,完整继承桌面版核心业务规则,支持一键启动与离线访问。

howard2005的专栏 144

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 346

React 性能:memo / useMemo / useCallback

讲清 memo/useMemo/useCallback 的配合与边界,先测量再优化,避开常见过早优化。

JudithHuang的博客 327

副队长BootStrap5探究(2)--按钮与按钮组

本文系统讲解Bootstrap 5按钮组件的使用与底层原理。通过CDN引入框架,掌握btn基础类及primary、success等主题色应用,学习轮廓按钮(btn-outline-*)、尺寸控制(btn-lg/sm)、块级布局(d-block)和禁用状态(disabled)等实用功能。结合源码解析,深入理解其基于CSS的圆角、过渡动画、伪类交互实现机制,实现“快速上手+原理掌握”的双重目标,助力前端技能进阶。

编程副队长 626
上一篇: window.open详解
下一篇: 使用Ajax时的十个常犯的错误
skyzero110
博客等级 码龄19年 35粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值