最初は簡単な理由からフォーム/ ajaxを動作させるためにCSRFをオフにしました。今私はそれをオンにし、CSRFのための入力やものを使用しようとすると何も動作しません。私のフォームは提出しないか、私のページ全体がリフレッシュされますが、私はそれを起こさせることはできません。ここに私の現在のコードです。CSRF AJAX&FORMによる保護 - CodeIgniter - 送信していない
form method="post">
<input type="text" name="vip_text_box" id="vip" value="<?php echo $total_amount ?>"> <br><br>
<input type="submit" id="submit" value="Redeem" onclick="return rebate_amount()">
<input type="hidden" name="<?php echo $this->security->get_csrf_token_name(); ?>" value="<?php echo $this->security->get_csrf_hash(); ?>">
</form>
とAjax:
function rebate_amount(){
var value = document.getElementById('vip').value;
var datastring = 'vip='+value;
var url = base_url + '/index.php/home/redeeming_form_value';
$.ajax({
type : 'post',
url : url,
data: datastring,
cache: false,
success: function(html){
$('#vip_point_redeeming').html(html);
}
});
return false;
}
は覚えておいてください。これは、CSRFが設定ファイルでオフになっているときにすべて動作します。しかし、私はフォーム/ ajaxを持つCSRFのここでの問題だと思います。
になります。 CodeIgniterはPOST操作を受け取ると、コードを実行する前にTOKENを見つけることができず、すべてをシャットダウンします。 –