まず、XHRオブジェクトが必要です。これは私たちにとって難しくありません。それを関数にカプセル化します。
var createajax = function(){var xhr = null; try {// IEシリーズブラウザーxhr = new ActiveXObject( "microsoft.xmlhttp"); } catch(e1){try {// non nonie browser xhr = new xmlhttprequest(); } catch(e2){window.alert( "ブラウザはajaxをサポートしていません、交換してください!"); }} xhr;}を返します。次に、コア関数を書きましょう。
var ajax = function(conf){// initialize // palameter、optional var type = conf.type; // urlパラメーター、必須var url = conf.url; //データパラメーターはオプションであり、var data = conf.dataのみです。 // datatypeパラメーターはオプションのvar datatype = conf.datatypeです。 //コールバック関数はオプションのvar success = conf.success; if(type == null){// typeパラメーターはオプションです、デフォルトはget inty = "get"; } if(dataType == null){// datAtypeパラメーターはオプションです、デフォルトはtext datacype = "text"; } // ajaxエンジンオブジェクトを作成するvar xhr = createajax(); // xhr.openを開く(type、url、true); // if(type == "get" || type == "get"){xhr.send(null); } else if(type == "post" || type == "post"){xhr.setRequestheader( "content-type"、 "application/x-www-form-urlencoded"); xhr.send(data); } xhr.oneadystatechange = function(){if(xhr.readystate == 4 && xhr.status == 200){if(dataType == "text" || dataType == "text"){if(success!= null){//通常のテキストサクセス(xhr.responsetext); }} else if(dataType == "xml" || datAtype == "xml"){if(success!= null){// xml document success(xhr.responsexml); }} else if(datatype == "json" || datatype == "json"){if(success!= null){// json文字列をjsオブジェクトの成功( "("+xhr.responsetext+")"); }}}}}}};};最後に、この関数の使用について説明しましょう。
ajax({type: "post"、url: "test.jsp"、data: "name = dipoo&info = good"、datatype: "json"、success:function(data){alert(data.name);}});ネイティブJSを使用してAjaxを単純にカプセル化する上記の例は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。