ajax是什么?ajax的交互模型?ajax跨域的解决办法
发布网友
发布时间:2022-04-24 04:11
我来回答
共2个回答
热心网友
时间:2022-04-06 07:10
1.AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。
AJAX 是一种用于创建快速动态网页的技术
2.你可以参看:http://blog.csdn.net/chenmoquan/article/details/38560649
3.
1). 通过修改document.domain和隐藏的IFrame来实现跨域请求。这种方案可能是最简单的一种跨域请求的方案,但是它同样是一种*最大的方 案。首先,它只能实现在同一个顶级域名下的跨域请求;另外,当在一个页面中还包含有其它的IFrame时,可能还会产生安全性异常,拒绝访问。
2).通过请求当前域 的代理,由服务器 代理去访问另一个域的资源。XMLHttpRequest通过请求本域内的一个服务器资源 ,将要访问的目标资源提供给服务器,交由服务器 去代理访问目标资源。这种方案,可以实现完全的跨域访问,但是开发,请求过程的消费会比较大。
热心网友
时间:2022-04-06 08:28
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。
AJAX的交互模型不知道你说的是数据交互模型还是怎么去发AJAX请求,数据交互模型有xml和json,但是基本上大家都会用json数据模型
实现AJAX是建立在XMLRequestHttp这个类的基础上的,通过实例化这个类以后调用open(method,url,async) 和send(string)方法发送请求和参数 ,这里的METHOD是表示请求方法,URL是表示请求地址,ASYNC用true和false表示是否异步处理(默认为true)。这边写一个简单的例子:
var request = new XMLHttpRequest();
request.open("GET", "search.html?name=" + document.getElementById("name").value);
request.send();
在发送请求结束后,我们需要接收服务器的响应,同样的也是使用这个XMLHttpRequest。
常用的属性有下面几个:
readyState(响应返回的通知):包括五种可能的取值:
0: (未初始化)send方法还没有被调用
1: (加载中)已调用了send方法,请求还在处理
2: (已加载)send方法已完成,整个应答已接收
3: (交互中) 正在解析应答
4: (已完成) 应答已经解析,准备好进行下一步处理。
responseText:获得字符串形式的相应数据
status和statusText:以数字和文本形式返回HTTP状态码
getAllResponseHeader():获取所有的响应报头等
如何监听请求的状态,这边也写个例子吧。
request.onreadystatechange = function() {
if (request.readyState===4) {
if (request.status===200) {
document.getElementById("name").innerHTML = request.responseText;
} else {
alert("发生错误:" + request.status);
}
}
}
至于你所说的跨域:这个要讲的东西很多了,在这里只说下方法吧,希望亲你能够自己多查资料多阅读。有大概这几种方式处理跨域:代理,JSONP,XHR2,希望动起手,多查,多学