Ich versuche, die benutzerdefinierte Bibliotheksfunktion mit Ajax wie folgt aufzurufen.Codeigniter - Wie kann man mit ajax auf benutzerdefinierte Funktionen zugreifen?
$(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);
}
}
});
});
});
Ich erhalte die folgende Antwort in Firebug:
Sie haben keine Berechtigung das angeforderte Objekt zuzugreifen. Es ist entweder schreibgeschützt oder vom Server nicht lesbar.
Hinweis: Wenn ich setzte die captcha_refresh Funktion in meiner Anmeldung Controller und die URL wie unten
jQuery.ajax Ajax passieren ( { Typ: "POST", URL: "" + "Login/captcha_refresh", .....});
dann funktioniert es gut. Aber ich möchte es nicht tun.
Hier ist meine captcha_refresh Funktion:
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'];
}
Sie versuchen, zuzugreifen Bibliothek direkt sein, ich glaube, Sie haben Controller anrufen von Ihrem Ajax und in diesem Controller müssen Sie die Bibliotheksfunktion aufrufen. – kishor10d
Ja, mein Fehler war, Bibliotheksfunktion direkt aufzurufen. Danke für die Antwort. @ kishor10d –
So, funktioniert es jetzt ?? – kishor10d