Skip to content

Commit

Permalink
修复ajax方法,添加find,filter方法,优化LIST
Browse files Browse the repository at this point in the history
  • Loading branch information
tianxiangbing committed Jul 16, 2012
1 parent 7d423f9 commit f5010c0
Show file tree
Hide file tree
Showing 3 changed files with 76 additions and 16 deletions.
17 changes: 13 additions & 4 deletions JY-Demo.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,25 @@
//console.dir(list1.concat(list2))
var list =new List();
console.dir(list.concat(Array.prototype.slice.call(list2).concat(Array.prototype.slice.call(list1))).slice(1));
/*
JY.ajax({
url:"json.json",
url:"ajax.asp",
data:{a:11,b:22},
type:"POST",
asny:false,
async:false,
dataType:"json",
data:{a:1},
success:function(r){
console.log(r);
console.info(r);
}
});
JY.post("ajax.asp",{"a":2},function(r){
console.log(r)
},"json");
JY.get("ajax.asp?",{"id":2},function(r){
console.log(r)
},"html");
*/
console.dir(JY.query("ul").find("li").filter(":not(.li)"))
});
</script>
</head>
Expand Down
73 changes: 62 additions & 11 deletions JY.js
Original file line number Diff line number Diff line change
Expand Up @@ -292,7 +292,26 @@
},
ajax:function(argsObj){
var xhr = new XHR();
return xhr.send(argsObj.url,argsObj.success,argsObj.error,argsObj.type,argsObj.async,argsObj.dataType);
return xhr.send(argsObj);
},
get:function(){
var args = arguments ;
var argsObj = {};
argsObj . url = args[0];
argsObj .data = args [1]||{};
argsObj .success = args [2] || null;
argsObj.dataType =args[3]||"html";
new XHR().send(argsObj);
},
post:function(){
var args = arguments ;
var argsObj = {};
argsObj . url = args[0];
argsObj .data = args [1]||{};
argsObj .success = args [2] || null;
argsObj. type = "POST";
argsObj.dataType =args[3]||"html";
new XHR().send(argsObj);
},
parseJson:function(txt){
return ( new Function( "return " + txt ) )();
Expand All @@ -317,6 +336,9 @@
}
return a.join("&");
}
},
is: function( selector ) {
return !!selector && this.filter( selector ).length > 0 ;
}
};
//*列表集合*/
Expand Down Expand Up @@ -385,6 +407,18 @@
},
eq:function(i){
return this[i];
},
find:function(arg){
var list = new List();
this.each(function(){
var tmp =JY.query.find(arg,this).set;
Array.prototype.push.apply( list, tmp);
});
return list;
},
filter:function(arg){
var tmp =JY.query.filter(arg,this);
return JY.makeArr(tmp);
}
});
function applyr(f){
Expand Down Expand Up @@ -418,24 +452,41 @@
return xhr;
}
},
send:function(url , success , error , type ,async , dataType){
send:function(argsObj){
var _self = this;
var xhr = _self.create();
dataType =dataType||"html";
if (async == undefined){
async=true;
dataType =argsObj.dataType||"html";
argsObj.contentType = argsObj.contentType||"application/x-www-form-urlencoded";
if (argsObj.async == undefined){
argsObj.async=true;
}
if (async){
if (argsObj.async){
xhr.onreadystatechange = function(){
if(xhr.readyState==4 ){
JY.method(success,_self.format(xhr.responseText,xhr.responseXML,dataType)) ;
JY.method(argsObj.success,_self.format(xhr.responseText,xhr.responseXML, argsObj.dataType)) ;
}
};
}
xhr.open(type||"GET",url,async);
xhr.send(null);
if (!async){
JY.method(success,_self.format(xhr.responseText,xhr.responseXML,dataType)) ;
if (argsObj.type == "GET" || !argsObj.type){
var tmpArr = argsObj.url.split("?");
if (tmpArr[1]){
argsObj.url += "&"+JY.param(argsObj.data);
}else{
argsObj.url = tmpArr[0]+"?"+JY.param(argsObj.data);
}
xhr.open("GET",argsObj.url,argsObj.async);
xhr.send(null);
}else{
xhr.open("POST",argsObj.url, argsObj.async);
xhr.setRequestHeader("Content-Type",argsObj.contentType);
try{
xhr.send(JY.param(argsObj.data));
}catch(e){
JY.method(argsObj.error ,e);
}
}
if (!argsObj.async){
JY.method(argsObj.success,_self.format(xhr.responseText,xhr.responseXML,argsObj.dataType)) ;
}
return xhr;
},
Expand Down
Loading

0 comments on commit f5010c0

Please sign in to comment.