// 非同期でリクエスト function sendRequest( url, callback, method, data ) { // XMLHttpRequestオブジェクト生成 var req = createXMLHTTP(); if( !req ){ alert("This browser coud not suport Active X or AJax");return; } // alert(req.readyState) // レスポンスデータ受信時に呼び出すイベントハンドラ req.onreadystatechange = function(){ //req.overrideMimeType("text/xml"); getResponse( req, callback ); } // GETメソッドの場合はURLの後にクエリパラメータをつける if(method.toUpperCase() == 'GET' && data.length > 0){ url += '?'+ data; data = ''; } // alert(req.readyState) // 指定したURLに接続 req.open( method, url, true ); // POSTデータ用ヘッダ req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); // HTTPリクエストを送信 req.send( data ); } // XMLHttpRequestオブジェクト生成 function createXMLHTTP() { if( window.ActiveXObject ){ // IE用(バージョンにより異なる) try { return new ActiveXObject("MSXML2.XMLHTTP"); } catch (e) { try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e2) { return null; } } }else if( window.XMLHttpRequest ){ // IE以外 + IE7 return new XMLHttpRequest(); } return null } // レスポンスデータ受信 function getResponse( req, callback ) { // alert(req.readyState); if( req.readyState == 4 ){ // 受信完了 // 指定されたコールバック関数を呼ぶ if( req.responseText ){ //alert('ok 1'); callback(req); } }else{ return; } }