我希望能够通过 AJAX 调用对 Joomla 中的用户进行身份验证,这样我就可以在登录不正确时创建错误效果,并在登录正确时重定向用户。
我更愿意通过 JQuery 的 .ajax
API 来完成此操作。
此外,我是否需要以某种方式初始化 JQuery,或者它已经存在,您只需使用“JQuery”而不是“$”?
最佳答案
试试这个,
您可以使用 Joomla 的登录选项进行 Ajax 登录身份验证。
通过post方式收集您的用户名和密码并设置到数组中。
$options = array();
$options['remember'] = JRequest::getBool('remember', false);
$data['username'] = JRequest::getVar('username', '', 'method', 'username');
$data['password'] = JRequest::getString('password', '', 'post', JREQUEST_ALLOWRAW);
$credentials = array();
$credentials['username'] = $data['username'];
$credentials['password'] = $data['password'];
$app = JFactory::getApplication();
$error = $app->login($credentials, $options);
if (!JError::isError($error)) {
// login success
}
else{
//Failed attempt
}
如果您有任何自定义组件,则可以将上述代码部分写入任何 Controller 函数内。如果您使用的是 Joomla3.x
,您可以使用 com_ajax
来完成此任务。
var data = "";//set your user name and password
jQuery.ajax ({
type: "POST",
url: "index.php?option=com_ajax&task=loginauth",
data: data,
success: function(data) {
}
});
当您在应用程序中包含 jQuery 库时,只需使用 jQuery
访问它即可
'$'
用于 Joomla 中的 moo-tools。要包含 jQuery 库,您只需编辑模板文件 templates/yourtemplate/index.php
希望有帮助..
关于javascript - 如何通过 AJAX/JQuery 在 Joomla 中验证用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21151149/