2020年7月18日土曜日

Ajaxを関数で使用する

Ajax を外出しにして関数化する

Ajaxを関数化して使用したいと挑戦したが、結果をCall元に戻せない。
ちょっと手に負えないので、インターネットで調査したところ分かり易い事例があったので以下にメモしておく。


$(function(){ 
  $(document).on('click', '#sample', function () { 
    var $data = new FormData($('#sample').get(0));
    var $resultConnect = sendAjaxRequest($data);
    $.when($resultConnect).then(function(data){ 
      console.log(data); 
    }); 
  }); 
  
  function sendAjaxRequest($data) { 
   var d= $.Deferred(); 
   $.ajax({ 
      url:'hogehoge.php', 
      type:'post', 
      dataType: 'json', 
      data: $data, 
      cache:false, 
      processData: false, 
      contentType: false, 
   }).done(function(data){ 
        d.resolve(true);
    }).fail(function(xhr,err){ 
     d.resolve(false);
    }); 
    return d.promise(); 
  } 
}); 

<form id="sample"> 
 <input type="text" name="username" value="123"> 
</form>

使用例

この例だけでは分かり難い場合は、実際の使用例 をご覧ください。

Written with StackEdit.

0 件のコメント:

ただいま作業中

2022/04/13 MySTの翻訳環境作り サイドメニューをプログラムで変換可能にすること 作業の中心場所 – jupyter notebook : g:\jupyter\python pythonをwebでも可能に – g:\webapp\Doc-tools ...