LoginSignup
0
1

More than 3 years have passed since last update.

ajaxで論理値をポストしたい

Last updated at Posted at 2020-09-04

ajaxを使って非同期でデータをポストするさい、その値を論理値(TRUE/FALSE)としてポストしたいというとき。
普通に書いてもstring型として扱われてしまう。
ポストするときにわざわざboolean(true)などと書いても論理値としてはポストしてくれない。
なので、どこかで一度データを成型しないといけない。
今回はFuelPHPでの場合を記述する。

view/example.php
<script>
$('#send_button').on('click', function() {//ボタンが押されたとき
  var formdata = new FormData($('#main_form').get(0));//フォームタグからデータを取得
  function() {
    $.ajax({
      type: 'POST',//メソッド指定
      url: '<?php echo $url; ?>',//ポスト先URL
      dataType: 'json',
      data: formdata,
      cache       : false,
      contentType : false,
      processData : false
    });
  }
});
</script>
controller/rest/examplecontroller.php
$data = \Input::post();//ポストするデータの取得
if($data['true_or_false'] == 'true'){
  $data['true_or_false'] = true;//論理値で上書き
}elseif($data['true_or_false'] == 'false'){
  $data['true_or_false'] = false;//論理値で上書き
}
//$dataを行いたい処理に投げる

ちなみに今回は外部のAPIに投げる処理を書いていて、viewの方で頑張ってポストするデータの形を整えていたのだが、結局コントローラでいじることになってしまったのでコントローラやモデルでできることはそちらでやろうとすごく感じた。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1