var request;
if(window.XMLHttpRequest){
request=new XMLHttpRequest();//IE7+,Firefox,Chrome,Opera,Safari..
} else {
request =new ActiveXObject("Microsoft.XMLHTTP");//IE6,IE5
}
HTTP:
http 是计算机通过网络进行通信的规则,是一种无状态的协议(不建立持久连接)
发送请求:
open(method,url,async);method:请求类型,async:是否异步,默认 是true。
send(string);发送请求到服务器
eg:
request.open("GET","get.php",true);
request.send();
request.open("POST","post.php",true);
request.send();
request.open("POST","create.php",true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
request.send("name=王二狗&sex=男");
获取响应:
通过监听这个readyState属性变化,来知道服务器是否响应完成:
request.onreadystatechange=function(){
if(request.readyState ===4 && request.status ===200){
//做一些事情 request.responseText
}
}
跨域
JavaScript 出于安全方面的考虑,不允许跨域调用其他页面的对象。
跨域:简单理解就是因为JavaScript同源策略的限制,a.com域名下的js,无法操作b.com或是c.a.com域名下的对象。
处理跨域方法:
1:代理
2:jsonp
JSONP 可用于解决主流浏览器的跨域问题:
在www.aaa.com页面中:
<script>
function jsonp(json){
alert(json["name"]);
}
</script>
<script src="http://www.bbb.com/jsonp.js"></script>
在www.bbb.com页面中:
jsonp({'name':'111','age':20});
利用了script标签节点可跨域访问的特性,使b页面可以调用a页面中的方法。
ajax 支持jsonp:
$.ajax({
url:"http://127.0.0.1/..",
dataType:"jsonp",
jsonp:"callback",//值可以随意定,在后台根据该名字获取参数即可。
success:function(){
}
})
在服务端代码中:
因为JQuery会自动在请求的url上带上一个叫callback的参数,值是个随机数。因此在服务器端
获取参数callback的值,然后将要返回的内容用callback的值用小括号包裹起来,eg:
String callback1= request.getParameter("callback");
String result="{'name':'111','age':20}";
返回值:callback1+"("+result+")";
JSONP不支持post。
3:XHR2
HTML5 提供的XMLHttpRequest Level2已经实现了跨域访问以及其他的一些新功能。
IE10以下的版本不支持
在服务器端(eg:PHP)做一些小小的改造即可:
header("Access-Control-Allow-Origin:*");//可以访问的服务器的域名
header("Access-Control-Allow-Methods:POST,GET");//
相关推荐
这个压缩包中的"ajax全接触(源代码)"可能包含了多个示例和教程,旨在帮助开发者深入了解并掌握Ajax技术。 ### 1. Ajax 基本原理 Ajax的核心是JavaScript对象XMLHttpRequest,它允许在后台与服务器进行通信。在用户...
在.NET环境下,Ajax技术的应用已经变得非常广泛,它极大地提升了Web应用程序的用户体验,实现了页面的无刷新更新。本文将深入探讨.NET下主流的Ajax框架,包括AjaxPro、Ajax.NET以及Ajax原理,帮助开发者理解并掌握...
很不错的Ajax开发草考文档,方便快捷1. AJAX介绍AJAX是一种运用JavaScript和可扩展标记语言(XML),在网络浏览器和服务器之间传送或接受数据的技术。2. AJAX实例AJAX可以用来创建更多交互式的网络应用程序。3. AJAX源...
AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX
**Ajax 概述** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它的核心是利用JavaScript与服务器进行异步数据交换,通过XML或者JSON格式传输数据,使得用户...
本卷从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者有任何的客户端...
**AjaxRequest(Ajax使用包)** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。AjaxRequest是实现Ajax功能的一个工具包,它...
**Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以提升用户体验,因为它...
**Ajax Interceptor:深入理解与应用** Ajax Interceptor 是一款专为谷歌浏览器(Chrome)设计的插件,它允许开发者在Ajax请求发送后和响应返回前进行干预,从而实现对AJAX请求数据的修改。这款插件对于前端开发、...
Java AJAX(Asynchronous JavaScript and XML)分页与JSP(JavaServer Pages)相结合,可以提供无需刷新整个页面即可动态加载更多内容的能力,提高用户体验。本教程将深入探讨如何使用AJAX、JavaScript以及MySQL...
在IT行业中,jQuery和Ajax是两个非常重要的技术,它们在构建动态、交互性强的Web应用程序时发挥着关键作用。jQuery是一个高效、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。Ajax...
**Ajax 教程** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新,提高了用户体验,尤其是在数据...
**Ajax+JSON 实例详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术已经成为提升用户体验的重要工具,它允许网页在不刷新整个页面的情况下与服务器进行数据交互。结合JSON(JavaScript Object ...
本书重点介绍Ajax及相关的工具和技术,主要内容包括XMLHttpRequest对象及其属性和方法、发送请求和处理响应、构建完备的Ajax开发工具、使用JsUnit测试JavaScript、分析JavaScript调试工具和技术,以及Ajax开发模式和...
《Professional Ajax, 2nd Edition》是一本深入探讨Ajax技术的专业书籍,由三位作者Nicholas C. Zakas、Jeremy McPeak和Joe Fawcett共同撰写。本书在2007年由Wiley Publishing, Inc.出版,是针对网站开发、设计以及...
标题中的“php+ajax例子”指的是使用PHP服务器端语言与AJAX(Asynchronous JavaScript and XML)客户端技术结合的示例应用。在Web开发中,PHP通常用于处理服务器端逻辑,而AJAX则允许网页在不刷新整个页面的情况下,...
**ASP.NET AJAX 全面解析** ASP.NET AJAX(Asynchronous JavaScript and XML)是微软为.NET Framework提供的一种技术,用于创建富交互式、响应快速的Web应用程序。它将JavaScript库(MicrosoftAjax.js)与服务器端...
使用Ajax实现从服务器读取数据,包括Ajax实现的详细步骤
Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h5的ajax请求并没有提供干涉的接口,这意味着我们不能在webview中干涉javascript发起的http请求,而有时候我们确实需要能够截获ajax请求并实现一些功能...