更新
我刚刚了解到,使用不同的平台在完全不同的服务器上使用cookie和会话作为移动应用程序和网站是不可能的
我正在尝试提交以下表单(使用Ajax):
<form action="<?php echo JRoute::_('index.php?option=com_users&task=user.login'); ?>" method="post">
<fieldset>
<?php foreach ($this->form->getFieldset('credentials') as $field): ?>
<?php if (!$field->hidden): ?>
<div class="login-fields"><?php echo $field->label; ?>
<?php echo $field->input; ?></div>
<?php endif; ?>
<?php endforeach; ?>
<?php if (JPluginHelper::isEnabled('system', 'remember')) : ?>
<div class="login-fields">
<label id="remember-lbl" for="remember"><?php echo JText::_('JGLOBAL_REMEMBER_ME') ?></label>
<input id="remember" type="checkbox" name="remember" class="inputbox" value="yes" alt="<?php echo JText::_('JGLOBAL_REMEMBER_ME') ?>" />
</div>
<?php endif; ?>
<button type="submit" class="button"><?php echo JText::_('JLOGIN'); ?></button>
<input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('login_redirect_url', $this->form->getValue('return'))); ?>" />
<?php echo JHtml::_('form.token'); ?>
</fieldset>
</form>
来自不同的领域。以下内容对我有用:
$.ajax(
{
type:"POST",
url:"https://192.168.12.103/components/com_users/views/login/tmpl/default_login.php?callback=?",
data:$('form').serialize(),
success: function(data){
alert("successful");
}
}
);
问题是我不希望表单在其当前逻辑中工作。这是当前的表单(登录到网站表单),从网站登录页面检索凭据并验证...等。我需要修改的是使用我的Ajax请求将凭据传递给表单并使表单使用这些凭据。
这可能不改变表格本身吗? 如果不是,如何使用这个小调整创建类似的形式?
我最终的目标是允许从移动应用程序登录到幕后的网站(无需通过网站登录页面)。