1 function AI_NetworkManager(env){
3 this.PHPExtPath = "./ainet.php";
5 AI_NetworkManager.prototype = {
7 //https://sourceforge.jp/projects/h58pcdgame/scm/git/GameScriptCoreLibrary/blobs/master/www/corelib/coresubc.js
8 //http://hakuhin.jp/js/xmlhttprequest.html
9 CreateRequestObject: function(){
13 // XMLHttpRequest オブジェクトを作成
14 rq = new XMLHttpRequest();
18 rq = new ActiveXObject('MSXML2.XMLHTTP.6.0');
21 rq = new ActiveXObject('MSXML2.XMLHTTP.3.0');
24 rq = new ActiveXObject('MSXML2.XMLHTTP');
31 RequestObjectDisableCache: function(rq){
32 //call after open request.
34 //http://vird2002.s8.xrea.com/javascript/XMLHttpRequest.html
35 rq.setRequestHeader('Pragma', 'no-cache'); // HTTP/1.0 における汎用のヘッダフィールド
36 rq.setRequestHeader('Cache-Control', 'no-cache'); // HTTP/1.1 におけるキャッシュ制御のヘッダフィールド
37 rq.setRequestHeader('If-Modified-Since', 'Thu, 01 Jun 1970 00:00:00 GMT');
40 sendRequestSync: function(mode, url, data){
42 var q = this.CreateRequestObject();
43 q.open(mode, url, false);
44 q.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
45 this.RequestObjectDisableCache(q);
49 this.env.debug("AI_NetworkManager:sendRequestSync:Network Error.\n");
53 alert("ネットワークにアクセスできません。" + q.status + ":" + q.statusText);
54 }else if((200 <= q.status && q.status < 300) || (q.status == 304)){
55 var res = q.responseText;
58 alert("サーバーがエラーを返しました。" + request.status + ":" + request.statusText);
62 sendRequestAsync: function(mode, url, data, callback){
65 var q = this.CreateRequestObject();
67 q.onreadystatechange = function(){
68 if(q.readyState == 4){
70 alert("ネットワークにアクセスできません。" + q.status + ":" + q.statusText);
71 }else if((200 <= q.status && q.status < 300) || (q.status == 304)){
72 var res = q.responseText;
75 alert("サーバーがエラーを返しました。" + request.status + ":" + request.statusText);
79 q.open(mode, url, true);
80 q.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
81 this.RequestObjectDisableCache(q);
84 sendRequestThroughPHPSync: function(mode, url, data){
85 var sendURL = this.PHPExtPath;
86 sendURL += "?cmd=httpreq&url=";
87 sendURL += encodeURIComponent(url);
88 return this.sendRequestSync("GET", sendURL);