Ajax の小さなカプセル化 ajax get リクエストの小さなカプセル化
-
- function Ajax() {
- var xhr =null;
- if(window.XMLHttpRequest) {
- xhr = new XMLHttpRequest();
- } else {
-
- xhr = new ActiveXObject("Microsoft.XMLHttp");
- }
- this.get=function(url,success,fail){ //リクエストを取得
- xhr.open("GET", "1.jsp",true);
- xhr.onreadystatechange=function(){
- if( xhr.readyState==4) {
- alert(xhr.status);
- if(xhr.status==200) {
- var txt = xhr.responseText;
- txt = eval("("+txt+")");
- var ch = txt.charAt(0);
- if(ch=="<") { //xml 型
- var xml = xhr.responseXML;
- success(eval("("+xml+")")) ;
- } else if(ch=="["||ch=="{") {//json type
- txt = eval("("+txt+")");
- success(txt);
- } else {//分からない場合は、return
-
- success(txt);
- }
- } else {
- if(fail) {
- failed(xhr.status);
- }
- }
- }
-
- };
- xhr.send(null );
-
- };
-
-
- this.post = function (url,param,success,fail) {//投稿リクエスト
- xhr.open("POST", "1.jsp",true) ;
- xhr.onreadystatechange =function(){
- if(xhr.readyState==4) {
- alert(xhr.status);
- if(xhr.status==200) {
- var txt = xhr.responseText;
- var ch = txt.charAt (0);
- if(ch=="<") { //xml 型
- var xml = xhr.responseXML;
- success(eval("("+xml+")"));
- } else if(ch ==="["||ch=="{") {//json type
- txt = eval("("+txt+")");
- success(txt);
- } else { //わからないので、直接返します
-
- success(txt);
- }
-
- } else {
- if(fail) {
- failed(xhr.status);
- }
- }
- }
-
- };
- xhr. setRequestHeader("Content-Type", " application/x-www-form-urlencoded");
- xhr.send(param);
- };
-
- }
コードをコピー
|