意外总是会发生

添加一个判断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
}
}

最新文章

  1. oradebug/strace/pstack等分析数据库性能问题系列一
  2. Jackson轻易转换JSON
  3. UnicodeDecodeError: &#39;utf8&#39; codec can&#39;t decode
  4. 织梦如何重新安装 织梦dir 二次安装
  5. C++ Primer : 第十二章 : 动态内存之allocator类
  6. 生成MD5的方法
  7. js笔记-DOM基础
  8. ADO.NET温习(一)
  9. Python给小说做词云
  10. 前端学习_01_css网页布局
  11. [WC2007]剪刀石头布(最大流)
  12. Docker:跨主机容器间通信之overlay [十五]
  13. 监控端口是否开放,端口未开放关闭虚拟ip,端口开放启动虚拟IP
  14. Hibernate学习(三)———— 一对多映射关系
  15. Java SE学习【三】——JDBC
  16. ACE Editor在线代码编辑器简介及使用引导
  17. NODE-WEBKIT教程(5)NATIVE UI API 之FRAMELESS WINDOW
  18. kettle的安装、配置与运行
  19. jQuery属性操作(三)
  20. nginx 跨域解决

热门文章

  1. python核心编程中网络爬虫的例子
  2. c++互斥锁的实现
  3. kill 使用当前数据库的所有session
  4. HDU 1045 Fire Net 【连通块的压缩 二分图匹配】
  5. 2014-2015 ACM-ICPC East Central North America Regional Contest (ECNA 2014) A、Continued Fractions 【模拟连分数】
  6. 整个ssd的网络和multibox_loss_layer
  7. mac 上安装lua
  8. &lt;jsp:include&gt;和&lt;%@include file=&quot;&quot;%&gt;的区别(简单了解)
  9. 【luogu P2397 yyy loves Maths VI (mode) 】 题解
  10. 并发编程之多线程基础-join方法及优先级(五)