javascript - 如何通过 AJAX/JQuery 在 Joomla 中验证用户

标签 javascript jquery ajax authentication joomla

我希望能够通过 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/

相关文章:

javascript-在ajax调用中显示加载器并在成功后隐藏

javascript - 在样式化组件中声明特定的类名

php中来自mysql数据库的Javascript数组

javascript - 从 anchor 链接到达后切换 div

jquery - 同时播放背景音乐和音效

javascript - 如何使用 css 上的 "auto"值检查真正的宽度

jquery - 从 html.join 属性创建一个表

javascript - 如何在不重新加载 JSON 更新页面的情况下更新 div 的类和内容

ajax - knockout 绑定(bind)上下文将父级作为参数传递

javascript - 复制到 Dreamweaver 时 Jsfiddle 将不起作用