2016-07-07 12 views
0

CodeIgniterコントローラにデータをポストしようとしていますが、空の配列しか表示されません。私はDataTablesも使用しています。私はデータを正しい方法で送信しているかどうかはわかりません。これは私のコードです:CodeIgniterコントローラのAjaxポストが動作しない

JS

$("#prw").on('click', function(e){ 
    e.preventDefault(); 

    var url = window.location.origin + "/nsl/preview"; 

    $.ajax({ 
     url: url, 
     data: $("input[type='checkbox']:checked").serialize() 
    }).done(function(data){ 
     console.log("Response", data); 
    }); 
}); 

CONTROLLER

function preview() { 
    $post = $this->input->post(); 
    return $post; 
} 

HTML

<table id="offers" class="table table-striped table-bordered" cellspacing="0" width="100%"> 
     <thead> 
     <tr> 
      <th>...</th> 
      <th>...</th> 
      <th>...</th> 
      <th>...</th> 
      <th>...</th> 
     </tr> 
     </thead> 
     <tfoot> 
     <tr> 
      <th>...</th> 
      <th>...</th> 
      <th>...</th> 
      <th>...</th> 
      <th>...</th> 
     </tr> 
     </tfoot> 
     <tbody> 
     <?php foreach($data as $d): ?> 
     <tr> 
      <td><input type="checkbox" id="check" name="myCheckboxes[]" class="toggle" value="<?=$d->oid?>"></td> 
      <td><input type="text" id="rb" name="myText[]" class="toggle"></td> 
      <td><?=$d->fullname?></td> 
      <td><?=$d->published?></td> 
      <td><?=$d->expires?></td> 
     </tr> 
     <?php endforeach; ?> 
     </tbody> 
    </table> 
    <input type="submit" id="prw" class="btn btn-info" value="Preview"> 

私は任意の助けに感謝してください。

+0

通常、ajaxコールは適切なMVCパスで正常に動作するはずです。正しいコントローラ/メソッドを指していることを確認してください。次に、.beforeSend()を使用して最初にajaxをデバッグし、 "データ"が正常に表示されるかどうかを確認してください。次に、コントローラメソッドを単純化して$ _POST []を返します。これは、すべてが意図したとおりに動作することを確実にする終わりを与えます – wick3d

答えて

1

特定の物事はチェックします - AJAX呼び出しインサイド

  1. 、クリック機能でtype : 'post'

  2. に言及し、

    のアラート($( "入力[タイプ= 'チェックボックス' を試します]:checked ")。serialize());

    と期待どおりに値を取得しているかどうかを確認しますか?

  3. コンソールをクリックし、クリックボタンを実行して、コンソール内のURLのPOSTタブのすべての値を確認します。コントローラ

    $ポスト=の$ this - >入力 - >ポスト( 'myCheckboxes')インサイド

  4. 。 print_r($ post);

関連する問題