CodeIgniter Ajax CSRF Jquery Cookie Метод ведет себя неожиданно - PullRequest
1 голос
/ 03 августа 2011

Раздел Javascript:

var token = $.cookie("csrf_cookie_name");
var tx = document.getElementById("tx"+working_row).value;
var mods =document.getElementById("mods"+working_row).value;
var pos = document.getElementById("pos"+working_row).value;
var startdate = document.getElementById("startdate"+working_row).value;
var enddate = document.getElementById("enddate"+working_row).value;
var fordx = document.getElementById("4dx"+working_row).value;
var qty = document.getElementById("qty"+working_row).value;
var price = document.getElementById("price"+working_row).value;
obj = new Object();
obj={'csrf_token_name':token,'tx':tx,'mods':mods,'pos':pos,'startdate':startdate,'enddate':enddate,'fordx':fordx,'qty':qty,'price':price};
alert(obj.csrf_token_name);
$.post("index.php/auth/fee_schedule",obj, function(data){
    alert(data);
});

У меня проблема в том, что переменная токена не включена в сообщение.Я не уверен почему.Оповещение [Object Object], так что, null.Верхний колонтитул страницы имеет следующий вид:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Medata Preauthorzation System</title>
    <link rel="stylesheet" href="<?php echo base_url();?>css/screen.css" type="text/css" media="screen">
    <script type="text/javascript" src="<?php echo base_url();?>js/jquery.js"></script>
    <script type="text/javascript" src="<?php echo base_url();?>js/jquery.sexy-combo.min.js"></script>
    <link rel="stylesheet" href="<?php echo base_url();?>css/jquery-ui-1.8.13.custom.css" type="text/css" media="screen">
    <link rel="icon" type="image" href="/medata/favicon.ico">
    <script type="text/javascript" src="<?php echo base_url();?>js/jquery.impromptu.js"></script>
    <script type="text/javascript" src="<?php echo base_url();?>js/jquery-ui-1.8.13.custom.min.js"></script>
    <script type="text/javascript" src="<?php echo base_url();?>js/cookie.js"></script>
</head>

Таким образом, функции библиотеки и cookie включены.Я использую функцию cookie 10 раз на той же странице, чтобы делать сообщения, и она отлично работает, но я не помещаю ни один из них в объекты с другими переменными, так что это просто inline alla

$.post("index.php/auth/tx_history/"+tx_code, { csrf_token_name: $.cookie("csrf_cookie_name") }, function(data){
    //alert(data);
        $("#price"+rowid).val(data);
});

IМне бы понравились некоторые предложения, я бился головой об этом коде большую часть дня для непрерывных вопросов.

1 Ответ

0 голосов
/ 03 августа 2011

Может быть:

var token = $.cookie("<?php echo $this->config->item("csrf_cookie_name"); ?>");
...