首页
学习
活动
专区
圈层
工具
发布

富Web应用的架构与转化方法:Web应用系列第二篇

例如,单击按钮可创建弹出模式对话框以处理信息。丰富的组件使用标记写入页面中包含的非常复杂的Javascript库中。今天有许多优秀的开源组件库。...丰富的应用程序的标志之一是缺少页面重新加载和减少页面导航。例如,您在表单上输入数据,然后单击“提交”按钮。没有明显的等待响应。这是因为是使用了Ajax技术将数据传输到服务器并在后台接收响应。...JSF2生命周期本机处理Ajax处理。可以在执行和呈现阶段部分更新组件树。使用facelets标记在页面上对组件进行分组,以指示要处理和呈现的组件。...在此示例中,将更新新成员bean的名称、电子邮件和电话号码。 render 此属性设置为面板的id,该面板对操作完成后要呈现的组件进行分组(执行和呈现阶段)。...Javascript回调函数ondataavailable执行包含jQuery逻辑的代码。 在push标签内,我们有一个ajax>标签。

5.6K20

EasyNVR前端防止提交成功后多余操作提交

出现上图中的问题主要是由于多次的触发Ajax。因此,要规避这个问题,我们可以通过限定AJax的触发来,完成这项需求。 解决问题: 首先,我们找出,是什么触发这个Ajax事件的。...整体的流程无非这两种: 1.点击提交按钮->触发ajax提交数据->提交成功->屏蔽提交按钮防止再次提交; 2.点击提交按钮->触发ajax提交数据->提交失败->保持提交按钮状态供再次提交;...我们都知道ajax是执行异步网络请求,我们可以在请求前,请求后,请求动作完成,请求动作成功、请求动作失败等都有对应的函数来进行操作。ajax的这些特征,就更加的方便我们来操作了。...首先我们抛开提交的内容,从提交的过程来说, 在EasyNVR配置表单中我们没有只需要注重ajax请求动作的成功和失败; 我们主要调用的函数就是success: function、error: function...; 请求成功后在success中将提交按钮屏蔽起来,如果请求失败,提示出错误原因,保持提交按钮的可以提交的状态。

1.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    前端快速入门之概述

    前言:从百度说起 案例 点击百度搜索框显示出搜索结果 涉及前端的三大要素,从初级到高级的应用都可以由其完成,三者即: HTML(5) // 页面所有呈现元素(按钮、输入框、图片…)的“附着点”,所有页面可见元素都有对应的...html标签,而动态交互的事件(JS完成)实际就是绑定在某些html标签上,例如按钮的点击。...JavaScript // 页面所有的(动态)事件,均由JavaScript绑定到html标签上,并由JavaScript完成整个交互动作的执行,包括鼠标事件、前后端的请求事件等等。...(response),注意此刻的结果一般是一些数据(字符串),并非带样式(CSS)的html标签,所以还需要进行转换,这个将数据转换为html代码的过程仍然由JavaScript来完成。...前端的异步执行顺序控制 主要体现在ajax请求方式(如$.ajax())和同级代码之间的执行先后顺序,一般可将ajax请求方式设为同步执行即可解决,在包含复杂的数据请求时尤其要注意这一隐含问题。

    1.8K20

    委托事件模型

    当我们的鼠标点击到窗口上的按钮时,并不是鼠标的箭头真正点击到这个按钮了,而是鼠标发出了一个动作事件,然后这个事件先被传送到了操作系统的命令处理带,然后再传送到负责显示图形的图像数据层,事件到这里后图像数据层会先看哪个程序的窗口在最上面...(因为不是在最上面就没必要看了),再根据鼠标提供的X Y坐标确认点击的是哪个窗口上的按钮,接着再确认这个窗口是哪个程序。...确认完毕后,图像数据层就会将这个动作事件提交给相对应的执行程序,执行程序里的代码先寻找是哪个位置的数据哪个对象提供的,进行一系列的搜索,找到后这个对象就会执行相对应的代码,然后再将执行后的显示传送到图像数据中心进行显示...例如按钮这个对象,在按钮身上发生的最多的就是点击事件,这时就应该选择点击事件的监听器,这个事件的监听器是一个接口所以要写一个类去实现它。  ...点击按钮监听器响应后执行相应的代码,就会产生自动打开网页的效果: ?

    1.1K20

    一些好用的jquery技巧

    1、返回顶部按钮 通过使用jQuery中的animate 和scrollTop 方法,不用插件就可以创建一个滚动到顶部的简单动画: // Back to top $('.top').click(function...2、预加载图像 如果你的网页要使用大量开始不可见的(例如,悬停的)图像,那么可以预加载这些图像: $.preloadImages = function () { for (var i = 0; i 的图像 逐个替换已经破坏的图像链接是非常痛苦的。不过,下面这段简单的代码可以帮助你: $('img').on('error', function () { if(!...6、禁用输入字段 有时候,你可能想要禁用表格的提交按钮或它的某一项文字输入直到用户执行了特定操作(例如,勾选“我已阅读相关条款”复选框)。...; } }); 14、AJAX调用错误处理 当Ajax调用返回404或500错误时,就执行错误处理程序。如果没有定义处理程序,其他的jQuery代码或会就此罢工。

    5.6K60

    Ajax等待返回结果时,弹出一个友好的等待提示

    巧用Ajax的beforeSend 提高用户体验 jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作。...,进而会重复提交按钮操作次数,如果页面前端代码没有做一些相应的处理,通常会导致多条同样的数据插入数据库,导致脏数据的增加。...要避免这种现象,在$.ajax请求中的beforeSend方法中把提交按钮禁用掉,等到Ajax请求执行完毕,在恢复按钮的可用状态。...: ajaxStart 全局事件 开始新的Ajax请求,并且此时没有其他ajax请求正在进行。...ajaxSuccess 全局事件 全局的请求成功 error 局部事件 仅当发生错误时触发。你无法同时执行success和error两个回调函数。

    4.7K10

    Ajax等待返回结果时,弹出一个友好的等待提示

    巧用Ajax的beforeSend 提高用户体验 jQuery是经常使用的一个开源js框架,其中的$.ajax请求中有一个beforeSend方法,用于在向服务器发送请求前执行一些动作。...,进而会重复提交按钮操作次数,如果页面前端代码没有做一些相应的处理,通常会导致多条同样的数据插入数据库,导致脏数据的增加。...要避免这种现象,在$.ajax请求中的beforeSend方法中把提交按钮禁用掉,等到Ajax请求执行完毕,在恢复按钮的可用状态。...: ajaxStart 全局事件 开始新的Ajax请求,并且此时没有其他ajax请求正在进行。...ajaxSuccess 全局事件 全局的请求成功 error 局部事件 仅当发生错误时触发。你无法同时执行success和error两个回调函数。

    5.8K100

    【Java 进阶篇】Ajax 实现——JQuery 实现方式 `get` 与 `post`

    嗨,亲爱的小白们!欢迎来到这篇关于使用 jQuery 实现 Ajax 请求的博客。在前端开发中,Ajax 是一项非常重要的技术,它使我们能够在不刷新整个页面的情况下与服务器进行数据交互。...Ajax 简介 Ajax,全称 Asynchronous JavaScript and XML,是一种用于创建异步请求的技术。...当按钮被点击时,请求会发送到指定的 URL,并在请求成功时将返回的数据显示在页面上。 get 方法的更多选项 get 方法的语法非常简洁,但它还提供了许多可选的参数,以满足不同场景的需求。...success:请求成功时执行的回调函数。 error:请求失败时执行的回调函数。 让我们通过一个例子来演示如何使用这些选项: 执行的回调函数。 error:请求失败时执行的回调函数。 通过一个例子,我们来演示如何使用这些选项: <!

    86280

    ajax中window.location.href不跳转

    你的ajax是同步的,所以提交表单动作被挂起直到ajax完毕后(此时执行请求过一次服务器),表单会提交,这样就会执行页面指定的action的地址, 而ajax回调success href的链接赋值不成功...,而且用的是同步的方式,并且你是通过点击了type类型为submit的按钮来触发这个ajax。...这个时候,首先你点击了submit,它会提交表单,但是由于你用了ajax的同步操作,submit的提交被阻塞,ajax先执行,这个时候,如果你在ajax的回调函数(如:success)中写了document.location.href...='xxx.html',它是执行了,的确是去执行了跳转的,于是ajax完成了,那接下来就要把刚才的submit提交的请求完成。...于是呢又要从xxx.html跳回到刚才那个页面(无论你submit有没有提交具体的数据,总之提交了之后如果后台没有执行跳转/重定向,它就要回到原来的页面。)

    2.4K20

    0基础开发小程序游戏

    5 控制剪子、石头、布的快速切换 猜拳游戏的核心就是快速切换剪子、石头、布三个图像,当单击“停止”按钮后,会停到其中一个图像上,这里涉及到如下两个动作: 用定时器快速切换图像。...图像下方的按钮,当一开始单击时,文本变成了“停止”,当再次单击该按钮后,按钮文本又变成了“开始”,即一个按钮同时负责开始和停止图像快速切换两个动作。...控制图像快速切换和按钮文本变化两个动作的代码都要写在 index.js 文件中。...这里涉及到两个主要变量:imagePath 和 title,这两个都定义在 data 对象中,单击按钮会执行 guess 函数(在 index.wxml 文件中使用 bindtap 属性指定按钮的单击事件函数名...6 真机测试小程序 如果只想在真机上测试,用管理员微信登录小程序 IDE 都可以,单击 IDE 工具栏中的“预览”按钮,会弹出一个带二维码的页面,如下图所示。

    5.6K50

    每个程序员都会的 35 个 jQuery 小技巧

    -- Create an anchor tag --> Back to top 改变 scrollTop 的值可以调整返回距离顶部的距离,而 animate 的第二个参数是执行返回动作需要的时间...自动修改破损图像 如果你碰巧在你的网站上发现了破碎的图像链接,你可以用一个不易被替换的图像来代替它们。...添加这个简单的代码可以节省很多麻烦: $('img').on('error', function () { $(this).prop('src', 'img/broken.png'); }); 即使你的网站没有破碎的图像链接...禁用 input 字段 有时你可能需要禁用表单的 submit 按钮或者某个 input 字段,直到用户执行了某些操作(例如,检查“已阅读条款”复选框)。...可以添加 disabled 属性,直到你想启用它时: $('input[type="submit"]').prop('disabled', true); 你要做的就是执行 removeAttr 方法,

    5.3K10

    axios + ajax 面试题总结

    安全性更高,客户端支持防御 XSRF,就是让你的每个请求都带一个从cookie中拿到的key, 根据浏览器同源策略,假冒的网站是拿不到你cookie中得key的,这样,后台就可以轻松辨别出这个请求是否是用户在假冒网站上的误导输入...ajax的缺点 ajax不支持浏览器back按钮。 安全问题 AJAX暴露了与服务器交互的细节。 对搜索引擎的支持比较弱。 破坏了程序的异常机制。 不容易调试。.../ 执行异步ajax请求 // 第一步,创建对象 const xhr = new XMLHttpRequest() // 第二步,配置请求信息,参数一是请求的类型,参数二是请求的...AJAX最大的特点是什么。 Ajax可以实现动态不刷新(局部刷新)就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。...onException Ajax和javascript的区别 javascript是一种在浏览器端执行的脚本语言,Ajax是一种创建交互式网页应用的开发技术 ,它是利用了一系列相关的技术其中就包括javascript

    2.9K30

    springboot展示页面(及关于ajax中页面不跳转问题)

    你的ajax是同步的,所以提交表单动作被挂起直到ajax完毕后(此时执行请求过一次服务器),表单会提交,这样就会执行页面指定的action的地址, 而ajax回调success href的链接赋值不成功...参考网络上的说明:你点击了submit,它会提交表单,但是由于你用了ajax的同步操作,submit的提交被阻塞,ajax先执行,这个时候,如果你在ajax的回调函数(如:success)中写了document.location.href...='xxx.html',它是执行了,的确是去执行了跳转的,于是ajax完成了,那接下来就要把刚才的submit提交的请求完成。...于是呢又要从xxx.html跳回到刚才那个页面(无论你submit有没有提交具体的数据,总之提交了之后如果后台没有执行跳转/重定向,它就要回到原来的页面。)...即:ajax就是如你所想那样执行了,也从A页面跳到了B页面,但是由于submit这种类型的特殊性,又让B页面跳回了A页面,由于这个ajax执行完再执行submit请求的过程处理的很快,你会感到好像没有效果

    2.4K30

    JavaScript—事件

    当我们的鼠标点击到窗口上的按钮时,并不是鼠标的箭头真正点击到这个按钮了,而是鼠标发出了一个动作事件,然后这个事件先被传送到了操作系统的命令处理带,然后再传送到负责显示图形的图像数据层,事件到这里后图像数据层会先看哪个程序的窗口在最上面...确认完毕后,图像数据层就会将这个动作事件提交给相对应的执行程序,执行程序里的代码先寻找是哪个位置的数据哪个对象提供的,进行一系列的搜索,找到后这个对象就会执行相对应的代码,然后再将执行后的显示传送到图像数据中心进行显示...所以简单来说,就是把一个写好的函数通过事件委托到按钮上,当用户点击按钮后,就会调用那个函数,函数里的代码就会执行。...例如:我把一段打印Hello World的函数,通过事件委托到按钮上,当我点击这个按钮的时候就会调用这个函数,函数执行完之后就会打印Hello World。...当鼠标的光标移动进按钮时会触发mouseover事件,移动出按钮时会触发mousseout事件,然后就会调用委托到事件中的函数代码,函数被调用执行就会在控制台中输出这些信息。

    2K20

    爬虫进阶(一)

    我们先想一下如果是人为的去保存每个图集里面的每张照片,我们会怎么做? 应该是先找到图集的合集,然后点进去每个图集,再然后对该图集里面的每张图片点击保存到本地,依次对每一个图集执行相同的操作。...传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。 AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。...: 实例解析: 分割线之前是一个script,在script里面定义一个函数,即AJAX执行的脚本。...分割线之后的部分是 AJAX 应用程序,包含一个 div 和一个按钮。div 部分用于显示来自服务器的信息。...当按钮被点击时,它负责调用script里面名为 loadXMLDoc() 的函数,即执行脚本程序。这里说明JavaScript里面的AJAX脚本是需要用一个动作去驱动的。

    1.2K90

    爬虫进阶(二)

    —重复记录信息的动作——直至最后。...如果用之前学过的爬虫知识来执行这个流程,翻页之前的步骤我们可以手动解决,也不麻烦,但是在翻页的这里卡住了,之前在爬取房天下的数据时有用到翻页,房天下数据爬取及简单数据分析,当时是通过调整url参数进行翻页的...除了修改参数,我们在上一篇推文中还用到另一种知识,基于AJAX请求的网页,我们去看看淘宝的页与页之间是否也是采用AJAX请求的,如果是的话可以通过AJAX去或获取每一页的url,然后去进行下一步。...可查看前一篇基于AJAX请求的网页爬取:爬虫进阶(一)。...打开淘宝——找到输入框并输入《用Python写网络爬虫》——点击搜索——出现商品页——把第一页中的所有商品信息记录下来——然后进行翻页到下一页——重复记录信息的动作——直至最后。

    1.7K80

    【13】如何使用PS进行图片批量处理

    这时候可以在动作工作栏中动作1的子菜单向看到图像大小,说明我们对图片的图像大小进行了调整。 ? 然后调整画布大小至160 * 160,按住快捷键Ctrl + Alt + c,弹出 ?...image.png 将画布大小调整至160 * 160后单击确认按钮完成图片的调整。将图片到一个文件夹下,如下图,单击保存按钮实现图像的保存。 ?...这时候一套完整的图像处理操作完成,在动作的工作栏单击如下提示的小方框,完成动作的录制。 ? 批量处理 完成动作的录制后,笔者接下来带大家进行批量操作。...选择之前录制的动作——动作1 选择需要处理的图片来源的文件夹,也就是本文开头已经放置好图片素材的文件夹 选择导出的文件夹 勾选覆盖动作中“存储为”命令 完成上述操作后,单击确定按钮即可实现批量操作。...选择好导出可执行文件的位置 选择批处理的动作 选择处理后图片导出的位置 勾选覆盖动作中“存储为”命令 单击确定按钮,完成导出操作。

    2K20
    领券