如何使用Ajax从移动应用程序提交表单

时间:2015-03-17 04:59:33

标签: javascript php jquery ajax joomla

我需要使用Ajax提交以下表单(components / com_users / views / login / tmpl / default_login.php。)。

<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; ?>
                     ......
</form>

我的Ajax请求将来自外部移动应用程序(点击后,我使用Ajax运行javaScript来提交表单)。

这可能吗?如果是,我应该将哪些参数传递给Ajax请求(基于此处的示例:“Form submit with AJAX passing form data to PHP without page refresh”我需要传递url,数据和成功。)

如果可以的话,我也可以传递用户名和密码(表格从fieldset中获取),我可以用纯文本提供它们(没有安全问题)。

1 个答案:

答案 0 :(得分:0)

使用序列化:documentation

在您的情况下,在表单中添加ID或名称,或者如果它只是页面中的唯一表单,则可以:

$('selectorOfButtonThatTriggers').click(function(){
    $.ajax({
            type: 'POST',
            url: $('form').attr('action'),
            data: $('form').serialize(),
            success: function(data){
                   alert(data);
            }
    });
});

所有表单字段都将被提取,而在服务器端,POST键将是字段输入名称。

要以编程方式添加更多数据,您可以使用:

data: $('form').serialize() + "&more1=" + more1value