开发者社区> effort880829> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

XMLHttp小手册,原生ajax参考手册

简介: 个人做java ee开发,在一般的公司里上班,做的是一般的网站。 1.如果经常使用jquery等框架进行异步调用,最主要的不是了解jquery怎么用,而是了解http协议。 2.为了了解http协议,可以使用火狐的控制台F12,谷歌的控制台F12查看responseHeader,requestHeader.在IE下,可以使用HttpWatch Professional这个工具。
+关注继续查看

个人做java ee开发,在一般的公司里上班,做的是一般的网站。

1.如果经常使用jquery等框架进行异步调用,最主要的不是了解jquery怎么用,而是了解http协议。

2.为了了解http协议,可以使用火狐的控制台F12,谷歌的控制台F12查看responseHeader,requestHeader.在IE下,可以使用HttpWatch Professional这个工具。

3.如果要系统了解原生的ajax请求,可以访问网站 xmlHttp小手册 http://fireyy.com/doc/xmlhttp/xmlhttprequest.html

 

<html>
<head>
<script type="text/javascript">
    var xmlHttp;
    function loadXMLDoc(url){
        xmlHttp=null;
        if(window.XMLHttpRequest){
            //IE7,FireFox,Opear,等浏览器
            xmlHttp=new XMLHttpRequest();
        }else if(window.ActiveXObject){
        //IE5,IE6浏览器
            xmlHttp=new ActiveXObject("Microsoft.XMLHttp");
        }
        if(xmlHttp!=null){
            xmlHttp.onreadystatechange=state_Change;
            xmlHttp.open("GET",url,true);
            xmlHttp.send(null);
        }else{
            alert("您的浏览器不支持xmlHttp");
        }
    }    
    //状态变化时调用的回调函数
    function state_Change(){
        //4--加载完毕
        if(xmlHttp.readyState==4){
            //200 --OK
            if(xmlHttp.status==200){
                document.getElmentById('').innerHTML=xmlHttp.status;
                doucment.getElmentById().innerHTML=XMLHttp.statusText;
                doucment.getElmentById().innerHTML=xmlHttp.responseText;
            }else{
                alert('取回数据XML错误 状态为: '+xmlHttp.statusText);
            }
        }
    }
    
</script>
</head>

<body>
    <h2>使用HttpRequest对象</h2>
    
    <p><b>Status:</b>
    <span id="A1"></span>
    </p>
    
    <p><b>Status text:</b>
    <span id="A2"></span>
    </p>
    
    <p><b>Response:</b>
    <br/><span id="A3"></span>
    </p>
    
    <button onclick="loadXMLDoc('http://www.w3school.com.cn/example/xdom/note.xml')">Get XML</button>
</body>

上面的代码直接拿来运行是不行的,打开谷歌浏览器的控制台 提示“XMLHttpRequest cannot load http://www.w3school.com.cn/example/xdom/note.xml. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. Noname1.html:1

查了一下,大致的意思是 “是ajax跨域,禁止访问”

跨域只能使用JSONP来实现,或者通过服务器端获取
另外,Access-Control-Allow-Origin 方法可以参考
http://blog.csdn.net/net_lover/article/details/5172509
http://blog.csdn.net/net_lover/article/details/5172522
http://blog.csdn.net/net_lover/article/details/5172532

 

web三种跨域请求数据方法

springmvc跨域请求乱码的解决

Spring 3.1 MVC REST 支持之跨域访问(Cross-origin resource sharing)

 

说说JSON和JSONP

jQuery JSONP 实践

开始做,坚持做,重复做

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
简述Ajax,以及使用原生js书写Ajax案例
简述Ajax,以及使用原生js书写Ajax案例
0 0
原生AJAX实现异步请求
原生AJAX实现异步请求
0 0
【Ajax入门技术】原生AJAXexpress的基本使用,进行不刷新页面获取到数据
【Ajax入门技术】原生AJAXexpress的基本使用,进行不刷新页面获取到数据
0 0
原生js对Ajax封装
原生js对Ajax封装
0 0
不如封装一个原生Ajax
我们常常引用jq就是为了使用上面的ajax,方便又实用。但是jq文件一个高达几十kb,还有近几年jq的发展趋势不容乐观,jq中还迟迟没有改进。于是自己造轮子,下面封装了原生JS ajax 。你可以直接复制拿过来用。
0 0
详解原生Ajax的实现,并模仿JQuery进行封装(上)
对于Ajax,肯定很多小伙伴都听过甚至用过了,那么没听过的也不用着急,本文会对Ajax进行讲解,其次,一定还有一些人只用过JQuery封装好了的Ajax却对原生的Ajax并不了解,那么也不用着急,本文从最基本的Ajax开始讲起,然后最后会尽可能得模仿JQuery对其进行封装,让我刚才提到的两类人能对Ajax有进一步的了解。
0 0
前端培训-中级阶段(9)-原生Ajax的运行原理与实现
前端最基础的就是 HTML+CSS+Javascript。掌握了这三门技术就算入门,但也仅仅是入门,现在前端开发的定义已经远远不止这些。前端小课堂(HTML/CSS/JS),本着提升技术水平,打牢基础知识的中心思想,我们开课啦(每周四)。 ajax 对于现在的前端来说已经是一件必需品了。单页应用?前后端分离?远程搜索?异步加载?能做的功能太多了。 当然,一直以来我们都是用一些封装好的api去使用(jQuery.ajax 、axios)。今天我们就来了解原生的Ajax。
0 0
Ajax工作流程(原生Ajax)
Ajax工作流程(原生Ajax)
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
JavaScript异步编程
立即下载
23-Vue.js在前端...1506518547.pdf
立即下载
探究 Node.js 的服务端之路
立即下载