建立请求的方法
- 原生ajax和jquery的ajax
- 原生ajax:
var xhr = createXHR();
xhr.onreadystatechange =function(){
if(xhr.readyState === 4){
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304){ //success
//console.log(xhr.responseText);
//成功之后的操作
gridStore.setData( JSON.parse(xhr.responseText) );
} else {
console.log("Request was unsuccessful: " + xhr.status);
}
}
};
xhr.open('get','diana',true);
//第三个参数 ,是否异步
xhr.send(null);
function createXHR(){
if (typeof XMLHttpRequest != "undefined"){
return new XMLHttpRequest();
} else if (typeof ActiveXObject != "undefined"){
if (typeof arguments.callee.activeXString != "string"){
var versions = [ "MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp"],
i, len;
for (i=0,len=versions.length;
i < len;
i++){
try {
new ActiveXObject(versions[i]);
arguments.callee.activeXString = versions[i];
break;
} catch (ex){
//跳过
}
}
}
return new ActiveXObject(arguments.callee.activeXString);
} else {
throw new Error("No XHR object available.");
}
}
- jquery.ajax
$.ajax({
url:"",//请求的url地址
success:function(req){
//请求成功
},
error:function(){
//请求出错
},
complete:function(){
//请求完成
}
});
- axios
//get请求***************************************************
// 为给定 ID 的 user 创建请求
axios.get('/user?ID=12345')
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
// 上面的请求也可以这样做
axios.get('/user', {
params: {
ID: 12345
}
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
// post请求***************************************************
axios.post('/user', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
// 多个并发请求***************************************************
function getUserAccount() {
return axios.get('/user/12345');
}function getUserPermissions() {
return axios.get('/user/12345/permissions');
}axios.all([getUserAccount(), getUserPermissions()])
.then(axios.spread(function (acct, perms) {
// 两个请求现在都执行完成
}));
//
- Fetch请求
fetch('http://example.com/movies.json')
.then(function(response) {
return response.json();
})
.then(function(myJson) {
console.log(myJson);
});
推荐阅读
- web网页模板|如此优秀的JS轮播图,写完老师都沉默了
- 接口|axios接口报错-参数类型错误解决
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- 前端|web前端dya07--ES6高级语法的转化&render&vue与webpack&export
- vue|Vue面试常用详细总结
- javascript|vue使用js-xlsx导出excel,可修改格子样式,例如背景颜色、字体大小、列宽等
- css|我用css精灵图拼接了自己的英文名字,不会还有人不知道精灵图技术吧()
- css|css三角的做法及其案例