"use strict";

function AJAX_BUILDER(){
  var _self = this;

  _self.response = {};
  _self.api = {
    'protocol' : 'http',
    'domain'   : 'example.com',
    'endpoint' : '/get/data'
  };

  _self.apiparams = {
  };

  _self.buildRequestQuery = function(){
    return $.param(_self.apiparams);
  };

  _self.getRequestURL = function(){
    var url = _self.api.protocol + '://'
        + _self.api.domain
        + _self.api.endpoint
        //+ '&' + _self.buildRequestQuery()
    ;
    return url;
  };

  return {
    // クエリパラメータの設定
    setParam : function(obj){
      _self.apiparams = obj
    },
    setDomain : function(domain) {
      _self.api.domain = domain;
    },
    setEndpoint : function(endpoint) {
      _self.api.endpoint = endpoint;
    },

    // AJAX実行
    get : function(){
      $.ajax({
        type: 'GET',
        url: _self.getRequestURL(),
        cache:false,
        dataType: 'json'
      }).done(function(json){
        _self.response = json;
        if(_self.callback){
          _self.callback();
        }
        return _self.response;
      }).fail(function(json){
        // エラー
        return json;
      });
    },

    // AJAX結果のjsonを返す。
    getResponse : function(){
      return _self.response;
    },

    // Callbackをsetする。
    setCallback : function(fn){
      _self.callback = fn;
      return;
    }
  };

}


@@ -139,21 +139,28 @@
   : 
-'example.com'
+window.location.host
 ,%0A  
@@ -216,24 +216,43 @@
 s = %7B%0A  %7D;%0A%0A
+  _self.$formEle;%0A%0A
   _self.buil
@@ -399,32 +399,36 @@
 + '://'%0A        
+    
 + _self.api.doma
@@ -430,16 +430,20 @@
 .domain%0A
+    
         
@@ -463,20 +463,16 @@
 ndpoint%0A
-    
     //+ 
@@ -503,16 +503,20 @@
 Query()%0A
+    
     ;%0A  
@@ -626,24 +626,107 @@
  obj%0A    %7D,%0A
+    setProtocol : function(protocol) %7B%0A      _self.api.protocol = protocol;%0A    %7D,%0A
     setDomai
@@ -863,32 +863,111 @@
 ndpoint;%0A    %7D,%0A
+    setForm : function(targetID) %7B%0A      _self.$formEle = $(targetID);%0A    %7D,%0A%0A
 %0A    // AJAX%E5%AE%9F%E8%A1%8C%0A 
@@ -1105,16 +1105,16 @@
  'json'%0A
-
       %7D)
@@ -1343,24 +1343,451 @@
 %7D);%0A    %7D,%0A%0A
+    post : function()%7B%0A      $.ajax(%7B%0A        type: 'POST',%0A        url: _self.getRequestURL(),%0A        data: _self.$formEle.serialize(),%0A        cache:false,%0A        dataType: 'json'%0A      %7D).done(function(json)%7B%0A%0A        _self.response = json;%0A        if(_self.callback)%7B%0A          _self.callback();%0A        %7D%0A        return _self.response;%0A      %7D).fail(function(json)%7B%0A        // %E3%82%A8%E3%83%A9%E3%83%BC%0A        return json;%0A      %7D);%0A    %7D,%0A%0A
     // AJAX%E7%B5%90

Add post method