gp更新来的太快
2024-10-19 08:58:01
意外总是会发生
添加一个判断function的分支,过滤掉function,其实也考虑再进一步去分析它的作用,稍后再议。
更新一下
var gnp = {
get: function(url) {
return this._get(url, true)
},
synget: function(url) {
return this._get(url, false)
},
_get: function(url, syn) {
const promise = new Promise(function(resolve, reject) {
const handler = function() {
if(this.readyState !== 4) {
return;
}
if(this.status === 200) {
resolve(this.response);
} else {
reject(new Error(this.statusText));
}
}
var request = new XMLHttpRequest()
request.open('GET', url, syn)
request.onreadystatechange = handler
request.send(null)
})
return promise
},
post: function(url, data) {
return this._post(url, data, true)
},
synpost: function(url, data) {
return this._post(url, data, false)
},
_post: function(url, data, syn) {
const promise = new Promise(function(resolve, reject) {
const handler = function() {
if(this.readyState !== 4) {
return;
}
if(this.status === 200) {
resolve(this.response);
} else {
reject(new Error(this.statusText));
}
}
var request = new XMLHttpRequest()
request.open('POST', url, syn)
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
request.onreadystatechange = handler var ret = gnp._trans(data) request.send(ret.substr(0,ret.length-1))
})
return promise
},
_trans : function(data,key = ''){
var ret = ""
if(typeof data == 'object'){
for(let it in data){
ret += gnp._trans(data[it],key + (key == ''?it:"["+ it + "]"))
}
}else if(Array.isArray(data)){
for(var i = 0;i < data.length;i++){
ret += gnp._trans(data[i],key + "[" + i + "]")
}
}else if(typeof data == 'function'){ }else{
console.log(data)
ret +=encodeURIComponent( key) + '=' + encodeURIComponent(data) + "&"
}
return ret
}
}
最新文章
- oradebug/strace/pstack等分析数据库性能问题系列一
- Jackson轻易转换JSON
- UnicodeDecodeError: &#39;utf8&#39; codec can&#39;t decode
- 织梦如何重新安装 织梦dir 二次安装
- C++ Primer : 第十二章 : 动态内存之allocator类
- 生成MD5的方法
- js笔记-DOM基础
- ADO.NET温习(一)
- Python给小说做词云
- 前端学习_01_css网页布局
- [WC2007]剪刀石头布(最大流)
- Docker:跨主机容器间通信之overlay [十五]
- 监控端口是否开放,端口未开放关闭虚拟ip,端口开放启动虚拟IP
- Hibernate学习(三)———— 一对多映射关系
- Java SE学习【三】——JDBC
- ACE Editor在线代码编辑器简介及使用引导
- NODE-WEBKIT教程(5)NATIVE UI API 之FRAMELESS WINDOW
- kettle的安装、配置与运行
- jQuery属性操作(三)
- nginx 跨域解决
热门文章
- python核心编程中网络爬虫的例子
- c++互斥锁的实现
- kill 使用当前数据库的所有session
- HDU 1045 Fire Net 【连通块的压缩 二分图匹配】
- 2014-2015 ACM-ICPC East Central North America Regional Contest (ECNA 2014) A、Continued Fractions 【模拟连分数】
- 整个ssd的网络和multibox_loss_layer
- mac 上安装lua
- <;jsp:include>;和<;%@include file=";";%>;的区别(简单了解)
- 【luogu P2397 yyy loves Maths VI (mode) 】 题解
- 并发编程之多线程基础-join方法及优先级(五)