【发布时间】:2016-06-16 13:23:28
【问题描述】:
我正在尝试使用 ajax 调用用户定义的库函数,如下所示。
$(document).ready(function()
{
$("a.refresh").click(function()
{
jQuery.ajax(
{
type: "POST",
url: "<?php echo base_url(); ?>" + "application/libraries/Captcha_lib/captcha_refresh",
success: function(res)
{
if (res)
{
jQuery("span.image").html(res);
}
}
});
});
});
我在 firebug 中得到以下响应:
您无权访问请求的对象。 服务器要么读保护要么不可读。
注意: 如果我将 captcha_refresh 函数 放在我的登录控制器中并将 URL 传递给 ajax,如下所示
jQuery.ajax( { 类型:“发布”, url: "" + "登录/验证码刷新", ..... });
然后它工作正常。但是我不想这样做。
这是我的 captcha_refresh 函数:
public function captcha_refresh()
{
$values = array(
'word' => '',
'word_length' => 8,
'img_path' => './hrms_assets/captcha_img/',
'img_url' => base_url() .'hrms_assets/captcha_img/',
'font_path' => base_url() . 'system/fonts/texb.ttf',
'img_width' => '150',
'img_height' => 50,
'expiration' => 3600
);
$data = create_captcha($values);
$this->session->userdata['captchaWord'] = $data['word'];
echo $data['image'];
}
【问题讨论】:
-
您正在尝试直接访问库,我认为您必须从您的 ajax 调用控制器,并且在该控制器中您必须调用库函数。
-
是的,我的错误是直接调用库函数。谢谢你的答复。 @kishor10d
-
那么,它现在工作了吗??
-
是的,兄弟。我在提出问题的同一天解决了这个问题。
-
上传您的答案或为对您有帮助的答案投票
标签: jquery ajax codeigniter codeigniter-3