jquery Ajax 调用 Codeigniter 控制器
Posted
技术标签:
【中文标题】jquery Ajax 调用 Codeigniter 控制器【英文标题】:jquery Ajax call Codeigniter Controller 【发布时间】:2015-01-17 20:03:22 【问题描述】:在我的视图页面中像这样调用 jquery Ajax
onclick: function()
$.ajax(
type:'POST',
url:"<?php echo base_url('trand/report/checking'); ?>",
data: nm:'vnky',
success: function()
alert("success");
,
error: function()
alert("error");
);
chart2.exportChart(
type: 'image/png',
filename: dynmicfilename
);
exportchart 功能完美运行。在 ajax 调用内部也可以很好地发出警报,但 url 没有被执行,通过在新选项卡中单击 url 时使用 firebug ,然后它工作正常。
如何在 ajax 调用中执行 url。你能帮忙吗?
【问题讨论】:
【参考方案1】:这是我的代码。我的控制器返回json
数据
$('.edit').click(function()
$.ajax(
url: '<?php echo site_url('your_controller'); ?>',
type: 'POST',
data:
key: value
,
dataType: 'json',
success: function(data)
console.log(data);
);
);
在 Ajax 调用中,哪个警报显示成功或错误? 我认为您的 JS 代码是正确的。你应该检查你的控制器。如果你在浏览器中打开它并且它工作正常。您应该检查 csrf_protection 配置是 TRUE 还是 FALSE
【讨论】:
我的控制器也很好。当我在浏览器中打开它工作正常。配置中的 csrf_protection 我现在更改为 TRUE,但同样的问题 url 问题。 @Minh Quy 打开这个文件application/config/config.php
,找到这个值csrf_protection
。如果csrf_protection = TRUE
,则应将其更改为FALSE
。
启用 csrf 保护后,对于每个 POST 请求,CI 都会检查表单数据中的 csrf 令牌。您使用 Ajax 发出 POST 请求并缺少此令牌
是的,它的默认值为 False。我现在改为 False。但我仍然遇到 url 问题。 ajax 函数执行但 url 没有执行
哦。那么显示的是哪个警报?成功还是错误?打开 Firebug 并查看 http 代码?【参考方案2】:
function generate_dateOfBirth()
$data = $this->input->post('data', TRUE);
if (!empty($data))
// Check if the ID Number supplied is not less than 13 characters
if ( strlen(trim($data)) == 13)
$year = substr($data, 0, 2);
$month = substr($data, 7, 2);
$day = substr($data, 4, 2);
$dateOfBirth = $year .'/'. $month .'/'. $day ;
echo $dateOfBirth;
else
echo 'You have entered Invalid ID number above';
$('#id_number').on('change', function()
var dob = $(this).val();
$.ajax(
url: '/generate_date',
method: 'POST',
data: 'data=' + dob,
cache: false,
type: 'json',
success:function(data)
//update Increase month
$('#dob').val(data);
); //End of ajax call
); $route['generate_data'] = 'Controller Name/function in the controller doesn"t contain html';
【讨论】:
以上是关于jquery Ajax 调用 Codeigniter 控制器的主要内容,如果未能解决你的问题,请参考以下文章