- 浏览: 707536 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (272)
- Struts1.x (7)
- 事务 (2)
- Hibernate (11)
- 数据库 (14)
- JavaScript&Ajax (43)
- JSP&Servlet (2)
- Flex (1)
- 其它 (9)
- Java (22)
- 框架集成 (1)
- WebService (3)
- Tomcat (3)
- 加密和安全登录 (13)
- 基于原型的JavaScript (0)
- JavaDoc和Java编码规范 (3)
- CAS (1)
- 加密 (1)
- Axis2 (10)
- Ext2.x (3)
- SSH整合 (2)
- Ext (0)
- 正则表达式 (1)
- 设计模式 (4)
- 对象序列化技术 (3)
- CVS (2)
- Struts2 (6)
- Spring 2.x (7)
- Spring Security (2)
- Java 课程 (20)
- 程序员之死 (1)
- 软件测试 (6)
- UML (5)
- NetBeans (1)
- cxf (1)
- JMS (13)
- 设计 (5)
- ibatis2.x (3)
- Oracle (1)
- WebSphere (7)
- 概要设计 (1)
- DB2 (10)
- PowerDesigner (0)
- 软件工程 (5)
- rose (1)
- EA (1)
- LDAP (7)
- Portal&Portlet (3)
- MQ (10)
- ESB (4)
- EJB (2)
- JBoss (2)
最新评论
-
typeRos:
只有配置文件,没有代码么大神
Spring实现IBMMQ的JMS消息发布/订阅模式 -
panamera:
如果ActiveMQ服务器没有启动,这个时候消息生产者使用Jm ...
Spring JMSTemplate 与 JMS 原生API比较 -
lian819:
顶1楼, 引用文件, 配置属性, 太方便了
EXTJS 同步和异步请求 -
wilhard:
说得清楚明白
<%@ include file=""%>与<jsp:include page=""/>区别 -
刘琛颖:
总结的很好。受益了
javascript 父窗口(父页面)— 子窗口 (子页面)互相调用的方法
在服务器端判断request来自Ajax请求(异步)还是传统请求(同步):
两种请求在请求的Header不同,Ajax 异步请求比传统的同步请求多了一个头参数
1、传统同步请求参数
accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-charset gb2312,utf-8;q=0.7,*;q=0.7
accept-encoding gzip,deflate
accept-language zh-cn,zh;q=0.5
cache-control max-age=0
connection keep-alive
cookie JSESSIONID=1A3BED3F593EA9747C9FDA16D309AF6B
host 192.168.101.72:8080
keep-alive 300
referer http://192.168.101.72:8080/htfsweb/spring_security_login
user-agent Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)
2、Ajax 异步请求方式
accept */*
accept-language zh-cn
referer http://192.168.101.72:8080/scm/?token=3b194bff23bf6acecea5661ac8e14c51
x-requested-with XMLHttpRequest
content-type application/x-www-form-urlencoded,text/javascript
accept-encoding gzip, deflate
user-agent Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; QQDownload 598; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1)
host 192.168.101.72:8080
content-length 233
connection Keep-Alive
cache-control no-cache
cookie CSS=undefined; JSESSIONID=1B9AC25036290F7FB6823CCE1A24E541
可以看到 Ajax 请求多了个 x-requested-with ,可以利用它,request.getHeader("x-requested-with"); 为 null,则为传统同步请求,为 XMLHttpRequest,则为 Ajax 异步请求。
评论
同步:则处理为转发到一个自定义的越权提示jsp页。
异步:response.getWriter.println("越权访问");这样前台Ext的弹出窗口中就显示"越权访问"的提示弹出窗口,而不会转发,因为我不想转发。
关于 edokeh 提到的 x-requested-with这个头是某些JS类库给加上去的,直接写AJAX是没有这个头的, 这个我确实要在研究一下了,可能是我太粗糙了,我只看到Ext的Ajax请求头里面有这个参数,至于不使用这些框架,直接使用 XMLRequest 提交的话,Header 里面是否还有这个参数我还没有做过例子研究,不过至少Ext里面是有的,呵呵,幸运的是我现在的所有项目都在使用Ext,短时间内可以靠它判断了……
不使用是没有这个头的,别误导其他人
同步:则处理为转发到一个自定义的越权提示jsp页。
异步:response.getWriter.println("越权访问");这样前台Ext的弹出窗口中就显示"越权访问"的提示弹出窗口,而不会转发,因为我不想转发。
关于 edokeh 提到的 x-requested-with这个头是某些JS类库给加上去的,直接写AJAX是没有这个头的, 这个我确实要在研究一下了,可能是我太粗糙了,我只看到Ext的Ajax请求头里面有这个参数,至于不使用这些框架,直接使用 XMLRequest 提交的话,Header 里面是否还有这个参数我还没有做过例子研究,不过至少Ext里面是有的,呵呵,幸运的是我现在的所有项目都在使用Ext,短时间内可以靠它判断了……
同步 异步只是对客户端来说..对服务端.都是一个请求..
除了自定义header等这样hack过的情况
有用处的!如ajax 分页。
发表评论
-
JavaScript 代码压缩工具
2011-02-16 15:15 944见附件,免费工具。 -
转:用Javascript来关闭IE浏览器和FireFox浏览器
2009-06-03 11:08 2180原文地址:http://hi.baidu.com/suen ... -
JavaScript 解析 JSON
2009-02-25 20:36 0JSON (JavaScript Object Not ... -
JavaScript的四舍五入运算
2009-02-02 13:49 1785function ForDight(Dight,How) { ... -
JavaScript 使用面向对象的技术创建高级 Web 应用程序
2009-01-19 21:44 1514转载: JavaScript 使用面 ... -
在JavaScript中使用面向对象
2009-01-18 17:05 1128原文地址:http://www.cnblo ... -
应当这样编写 JavaScript 代码吗?
2009-01-17 23:09 1125应当这样编写 JavaScript 代码吗? 您已经看到Ja ... -
JavaScript模拟命名空间
2009-01-17 17:35 1332JavaScript模拟命名空间 在C++和C#中,命名 ... -
JavaScript 从类继承
2009-01-17 17:32 1278从类继承 到这里,我们已经了解了构造函数和原型对象如何使您在 ... -
模拟私有属性
2009-01-07 15:46 1133模拟私有属性 现在介绍闭包如何帮助模拟私有成员。正常情况 ... -
闭 包
2009-01-07 15:10 1240闭包 我没有自觉地学习过JavaScript。我必须快点了解 ... -
静态属性和方法
2009-01-05 18:15 1315静态属性和方法 有时,您需要绑定到类而不是实例的属性或方法, ... -
原 型
2009-01-05 17:58 1064原型 在使用JavaScript的面向对象编程中,原型对象 ... -
构造函数而不是类
2009-01-04 23:15 1397构造函数而不是类 前面提到过,有关JavaScript ... -
JavaScript 函数是最棒的
2009-01-04 19:25 1473JavaScript 函数是最棒的 在很多编程语言中,函数和 ... -
insertAdjacentElement方法
2008-12-29 18:08 2472语法: oElement = object . inse ... -
javascript 中定义private 方法
2008-12-26 12:40 2300出处:http://aoqi1883.blog.163.co ... -
event.returnValue和return false的区别
2008-12-25 19:52 26617<!DOCTYPE html PUBLIC " ... -
按“回车”键提交表单
2008-12-25 19:17 2563<!DOCTYPE html PUBLIC " ... -
DWR 同步机制
2008-12-25 19:03 1480被一个小问题所困扰,一直到昨天,我最后 ...
相关推荐
因此,区分一个请求是通过Ajax发起的还是传统的同步请求对于服务器端处理逻辑来说至关重要。 #### 核心知识点: 1. **HTTP请求头的差异**:Ajax请求和传统的HTTP请求在头部信息上存在显著区别。这为服务器端提供了...
在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...
**Ajax异步请求小结** Ajax(Asynchronous JavaScript and XML)是一种用于创建快速、动态网页的技术,它允许在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容。这种技术极大地提升了用户体验,...
综上所述,"Java通过jQuery实现ajax异步请求"的示例工程涵盖了客户端与服务器端的交互流程,包括使用jQuery发起AJAX请求、Java后端处理请求并返回数据,以及数据格式的转换和错误处理。了解并掌握这些知识点,对于...
同步 AJAX 请求会在发起请求后阻塞主线程,直到服务器响应返回。这种方式虽然简单直观,但在实际使用中可能会导致用户体验不佳(如页面假死),因此并不推荐在生产环境中频繁使用。 #### 三、ExtJS 3.0 同步 AJAX ...
6. **服务器端问题**:有时问题可能出在服务器端,如响应时间过长,或者返回的数据格式不正确,这也会导致看起来像是同步问题。 7. **性能优化**:如果发现大量同步请求导致页面卡顿,考虑优化请求,例如合并请求、...
异步请求的核心在于,浏览器不会阻塞其他任务,而是创建一个新的请求并在后台处理。当服务器返回响应时,JavaScript会接收到数据并进行相应的操作,而不是像同步请求那样更新整个页面。 2. **Ajax基本结构** Ajax...
在本项目中,Servlet接收来自jQuery AJAX请求的数据,并返回JSON响应。一个简单的Servlet示例: ```java import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter...
在EXTJS框架中,`Ext.Ajax.request`是进行异步AJAX通信的核心方法,它提供了与服务器端交互的能力,支持GET、POST等多种HTTP请求方式。这篇文章将深入探讨`Ext.Ajax.request`的使用,以及在实际应用中可能遇到的小...
在ExtJS中,Ajax支持是核心功能之一,它使得在浏览器端与服务器进行异步通信成为可能,无需刷新整个页面。以下是对Ajax支持的详细说明: 1. **Ajax基础**: - Ext.Ajax是ExtJS中的核心模块,用于处理所有与Ajax...
Unigui提供了内置的Ajax支持,允许开发者创建Ajax请求并在后台处理数据,然后将结果返回到客户端。这主要通过Unigui的TUniAjaxComponent组件实现,该组件允许你定义一个HTTP方法(如GET或POST),指定URL,并处理...
3. **服务器端处理**:在ASP中,通常使用VBScript或JScript编写服务器端代码。当Ajax请求到达服务器时,这些脚本会被执行,并返回所需的数据。 4. **请求类型(HTTP方法)**:常见的有GET和POST。GET用于获取信息,...
根据提供的文件信息,我们可以归纳出两个主要的知识点...通过这些示例代码,我们不仅了解了如何在客户端进行表单验证,还学会了如何构建 AJAX 请求并处理服务器端的响应。这对于前端开发者来说是非常实用且重要的技能。
因此,在实际开发中,应当谨慎使用同步请求,尽可能使用异步请求以提高页面的响应性和用户体验。 在实际开发过程中,如果遇到类似问题,开发者应该首先检查发送的参数格式是否正确,并确保请求头设置正确。如果问题...
该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。 XMLHttpRequest是XMLHTTP组件的对象,通过这...
`Ajax.Request`用于发起异步请求,接收URL和一个选项对象作为参数,选项中可定义onSuccess、onFailure等事件处理。`Ajax.Updater`则用于更新页面的一部分内容。 6. **Scriptaculous**:Scriptaculous是基于...
在 Ajax 中,“异步”与“同步”是两个重要的概念,它们定义了浏览器与服务器之间数据交换的方式。 - **异步**:在异步模式下,浏览器可以在等待服务器响应的同时继续处理其他任务。这意味着用户可以继续与网页交互...
为了响应前端的Ajax请求,您需要在服务器端编写相应的处理逻辑。这里假设您使用Java Servlet来实现: 1. **创建Servlet类**: ```java import javax.servlet.*; import javax.servlet.http.*; import java.io....
需要注意的是,虽然同步Ajax请求在本示例中被使用,但在实际项目中通常推荐使用异步请求,以避免阻塞用户界面。此外,还应考虑安全性问题,例如对输入数据进行验证和清理,以防止SQL注入等攻击。
- **跨域问题**:Ajax请求受到同源策略限制,若需跨域,需配置服务器端的CORS策略。 通过以上内容,我们可以了解到Ajax的基本原理和Prototype JS库在实现Ajax请求时的便利性。在实际开发中,利用这些知识可以构建出...