js 常用工具方法彙總
此貼記錄所有我自己封裝的一些專案中常用的工具方法,歡迎各種指導+補充。互相學習啦!
Ajax請求:
xAjax.request = function(options){
if(!options || typeof options != "object"){
return false;
}
//請求型別,不傳,預設get
var type = options.type || "get";
//請求地址
var url = options.url || location.pathname;
//非同步or同步
var async = (options.async === false) ?false:true;
//請求內容的格式
var contentType = options.contentType || "type/html";
//資料
var data = options.data || {};
var dataStr = "";
for(var key in data){
dataStr += key+"="+data[key]+"&";
}
//將最後一個&擷取掉
dataStr = dataStr && dataStr.slice(0,-1);
//ajax
var xhr = new XMLHttpRequest();
xhr.open(type,(type=="get"?url+"?"+dataStr:url),async);
//請求頭
if(type == 'post'){
if(contentType == "json"){
xhr.setRequestHeader('Content-Type','application/json');
}else{
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
}
}
xhr.setRequestHeader('Client-Type','I');
//請求主體
xhr.send(type=="get"?null:contentType=="json"?JSON.stringify(data):dataStr);
//監聽響應狀態的改變
xhr.onreadystatechange = function(){
var result = "";
var contentType = xhr.getResponseheader('Content-Type');
if(xhr.readyState ==4 && (xhr.status == 200 || xhr.status == 201)){
//如果伺服器返回的是xml
if(contentType.indexOf("xml")>-1){
result = xhr.responseXML;
}
//如果伺服器返回的是json
else if(contentType.indexOf("json")>-1){
result = JSON.parse(xhr.responseText);
}else{
result = xhr.responseText;
}
//成功回撥
options.success && options.success(result);
}
//請求不成功,也需要響應完成才作為一個錯誤的請求
else if(xhr.readyState == 4){
//如果伺服器返回的是xml
if(contentType.indexOf("xml")>-1){
result = xhr.responseXML;
}
//如果伺服器返回的是json
else if(contentType.indexOf("json")>-1){
result = JSON.parse(xhr.responseText);
}else{
result = xhr.responseText;
}
//error回撥
options.error&& options.error(result);
if(xhr.status == 401 || (xhr.status == 403){
options.authorize && options.authorize();
}
}
}
}
xAjax.post = function(options){
options.type = "post";
xAjax.request(options);
}
xAjax.get = function(options){
options.type = "get";
xAjax.request(options);
}
呼叫的話就這樣寫;我覺得還挺方便的
xAjax.post({
url:"xxxx",
data:{"name":xj},
success:function(result){
//請求成功的操作
},
error:function(error){
//請求失敗的操作
}
});
判斷是否為空:
xCheckEmpty = function(obj){
if(obj == null || obj == undefined || obj == ""){
return true;
}
return false;
}
xCheckNotEmpty = function(obj){
if(xCheckEmpty(obj)){
return false;
}
return true;
}
還沒有整理完,待補充。
相關文章
- 常用工具彙總
- JS陣列Array的全部方法彙總JS陣列
- JS Object的靜態方法彙總( 上 )JSObject
- Go常用工具和開源專案彙總Go
- js獲取裝置資訊的方法彙總JS
- 使用JS獲取當前地理位置方法彙總JS
- js知識點彙總JS
- Oracle 常用方法彙總Oracle
- js手寫題梳理彙總JS
- 前端Js獲取本網IP和外網IP方法總彙前端JS
- JavaScript資料方法彙總JavaScript
- es6常用方法彙總
- 軟體測試方法彙總
- linux 故障解決方法彙總Linux
- You-Dont-Know-JS 疑難彙總JS
- JS 根據彙總結果過濾JS
- 常用js方法總結:JS
- js字串方法總結JS字串
- js對檔案和二進位制操作的一些方法彙總JS
- Vue 元件間通訊方法彙總Vue元件
- 移動端除錯方法彙總除錯
- 資料預處理方法彙總
- 解壓命令unzip常用方法彙總
- 在前端使用 JS 進行分類彙總前端JS
- JS遍歷方法總結JS
- JS陣列方法總結JS陣列
- Vagrant box 命令彙總彙總
- pandas | DataFrame中的排序與彙總方法排序
- MySQL備份和恢復方法彙總MySql
- Vue.js經典開源專案彙總Vue.js
- JS開發常用工具函式JS函式
- JS物件導向:JS繼承方法總結JS物件繼承
- JS 常用方法總結記錄JS
- JS-Array的方法總結JS
- JS-陣列方法總結JS陣列
- js陣列常用方法總結JS陣列
- Python 爬蟲模擬登入方法彙總Python爬蟲
- 用curl方式操作elasticsearch的常用方法彙總Elasticsearch