工場モデルはjsにおける応用
1.ajax技術で非同期要求を行うのは、現在ウェブ開発においてよく見られる課題の一つです.簡単な工場はこのような場合に適しています.ブラウザの能力によって一つを生成します.
xmlHttpRequest ActionXObject
var simpleHandler=function(){};
simpleHandle.prototype={
request:function(model,url,callback,postValue){
// xhr
var xhr=this.createXhrObject();
xhr.onreadystatechange=function(){
if(xhr.readyState!=4)return;
(xhr.status==200)?callback.success():callback.failure();
}
xhr.open(method,url,true);
},
createXhrObject:function(){
//
var methods=[
function(){return new XMLHttpRequest();},
function(){return new ActiveObject('Msxml2.XMLHTTP');},
function(){ return new ActiveObject('Micosoft.XMLHTTP')}
];
//
for(var i=0,len=methods.length;i<len;i++){
try{
methods[i]();
}catch(e){
continue;
}
// createXhrObject
this.createXhrObject=methods[i];
return methods[i];
}
}
}