- // 简单的ajax原生实现
- var url = 'https://hq.tigerbrokers.com/fundamental/finance_calendar/getType/2017-02-26/2017-06-10';
- var result;
- var XHR = new XMLHttpRequest();
- XHR.open('GET', url, true);
- XHR.send();
- XHR.onreadystatechange = function() {
- if (XHR.readyState == 4 && XHR.status == 200) {
- result = XHR.response;
- console.log(result);
- }
- }
- var url = 'https://hq.tigerbrokers.com/fundamental/finance_calendar/getType/2017-02-26/2017-06-10';
- // 封装一个get请求的方法
- function getJSON(url) {
- return new Promise(function(resolve, reject) {
- var XHR = new XMLHttpRequest();
- XHR.open('GET', url, true);
- XHR.send();
- XHR.onreadystatechange = function() {
- if (XHR.readyState == 4) {
- if (XHR.status == 200) {
- try {
- var response = JSON.parse(XHR.responseText);
- resolve(response);
- } catch (e) {
- reject(e);
- }
- } else {
- reject(new Error(XHR.statusText));
- }
- }
- }
- })
- }
- getJSON(url).then(res => console.log(res));
-
- 转自:http://blog.csdn.net/qq_29849641/article/details/69233788
//用于发送ajax的post请求
$.post=function (url,data,callback){
var xhr=$.int();; //调用Ajax对象
xhr.open('post','url'); //初始化,用post请求方式连接到php文件,这样不会产生缓存问题
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencode'); //设置请求头信息,本次提交的数据是字符数据
xhr.onreadystatechange=function(){ //设置Ajax对象的状态码发生改变时所触发的回调函数
if (xhr.readyState==4 && xhr.status==200) {
callback(xhr.responseText);
};
}
xhr.send(data); //发送请求,由于初始化时使用post请求方式,所以需添加post请求时所传递的函数(如果是get请求,刚为空null)
}
$.post=function (url,data,callback){
var xhr=$.int();; //调用Ajax对象
xhr.open('post','url'); //初始化,用post请求方式连接到php文件,这样不会产生缓存问题
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencode'); //设置请求头信息,本次提交的数据是字符数据
xhr.onreadystatechange=function(){ //设置Ajax对象的状态码发生改变时所触发的回调函数
if (xhr.readyState==4 && xhr.status==200) {
callback(xhr.responseText);
};
}
xhr.send(data); //发送请求,由于初始化时使用post请求方式,所以需添加post请求时所传递的函数(如果是get请求,刚为空null)
}
//jQuery封装ajax
(function () {
//用于得到一个dom对象
var $=function (id) {
return document.getElementById(id);
}
//用于得到一个ajax对象
$.init=function (){
try{return new XMLHttpRequest()}catch(e){}
try{return new ActiveXobject('Microsoft.XMLHTTP')}catch(e){}
alert('error');
}
//用于发送ajax的get请求
$.get=function(url,data,callback,type){
var xhr=$.int();
if(data!=null){
url=url+'?'+data;//有时候ajax只想传递一个过程,不需要传递参数时
}
xhr.open('get',url);
xhr.setRequestHeader("If-Modified-Since","0");
xhr.onreadystatechange=function(){
if (xhr.readyState==4 && xhr.status==200) {
if (type==null) {
type='text'; //如果没有传递type参数,让type的值默认为text
};
if (type=='text') {
callback(xhr.responseText); //返回字符串类型
};
if (type=='xml') {
callback(xhr.responseXML); //返回XML类型
};
if (type=='json'){
var str=eval('('+xhr.responseText+')'); //转成对象
callback(str); //返回json类型
}
}
}
xhr.send(null);
}
//用于发送ajax的post请求
$.post=function (url,data,callback,type){
var xhr=$.int();; //调用Ajax对象
xhr.open('post','url'); //初始化,用post请求方式连接到php文件,这样不会产生缓存问题
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencode'); //设置请求头信息,本次提交的数据是字符数据
xhr.onreadystatechange=function(){ //设置Ajax对象的状态码发生改变时所触发的回调函数
if (xhr.readyState==4 && xhr.status==200) {
if (type==null) {
type='text'; //如果没有传递type参数,让type的值默认为text
};
if (type=='text') {
callback(xhr.responseText); //返回字符串类型
};
if (type=='xml') {
callback(xhr.responseXML); //返回XML类型
};
if (type=='json'){
var str=eval('('+xhr.responseText+')'); //转成对象
callback(str); //返回json类型
}
};
}
xhr.send(data); //发送请求,由于初始化时使用post请求方式,所以需添加post请求时所传递的函数(如果是get请求,刚为空null)
}
window.$=$;
})();
//用于得到一个dom对象
var $=function (id) {
return document.getElementById(id);
}
//用于得到一个ajax对象
$.init=function (){
try{return new XMLHttpRequest()}catch(e){}
try{return new ActiveXobject('Microsoft.XMLHTTP')}catch(e){}
alert('error');
}
//用于发送ajax的get请求
$.get=function(url,data,callback,type){
var xhr=$.int();
if(data!=null){
url=url+'?'+data;//有时候ajax只想传递一个过程,不需要传递参数时
}
xhr.open('get',url);
xhr.setRequestHeader("If-Modified-Since","0");
xhr.onreadystatechange=function(){
if (xhr.readyState==4 && xhr.status==200) {
if (type==null) {
type='text'; //如果没有传递type参数,让type的值默认为text
};
if (type=='text') {
callback(xhr.responseText); //返回字符串类型
};
if (type=='xml') {
callback(xhr.responseXML); //返回XML类型
};
if (type=='json'){
var str=eval('('+xhr.responseText+')'); //转成对象
callback(str); //返回json类型
}
}
}
xhr.send(null);
}
//用于发送ajax的post请求
$.post=function (url,data,callback,type){
var xhr=$.int();; //调用Ajax对象
xhr.open('post','url'); //初始化,用post请求方式连接到php文件,这样不会产生缓存问题
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencode'); //设置请求头信息,本次提交的数据是字符数据
xhr.onreadystatechange=function(){ //设置Ajax对象的状态码发生改变时所触发的回调函数
if (xhr.readyState==4 && xhr.status==200) {
if (type==null) {
type='text'; //如果没有传递type参数,让type的值默认为text
};
if (type=='text') {
callback(xhr.responseText); //返回字符串类型
};
if (type=='xml') {
callback(xhr.responseXML); //返回XML类型
};
if (type=='json'){
var str=eval('('+xhr.responseText+')'); //转成对象
callback(str); //返回json类型
}
};
}
xhr.send(data); //发送请求,由于初始化时使用post请求方式,所以需添加post请求时所传递的函数(如果是get请求,刚为空null)
}
window.$=$;
})();