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

标签 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、数据和成功)。

如果可能的话,我还可以传递用户名和密码(表单从字段集中获取它们),我可以以纯文本形式提供它们(没有安全问题)。

最佳答案

使用序列化: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

关于javascript - 如何使用 Ajax 从移动应用程序提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29091599/

相关文章:

javascript - jQueryUI 动画(颜色)不起作用

javascript - 选择元素的change()不起作用

javascript - 为什么单击事件处理程序仅在第一页上起作用

javascript - Express 中的嵌套 api 端点

php - 发送带有国际口音和特殊字符的电子邮件

php - 如何将 X 元素组加在一起?

javascript - 获取当前图像大小

php - 使用 php 和 mysql 标记云 - 如何使用 mysql 列名称链接新页面

jQuery:tagsInput 重新初始化(或取消绑定(bind)所有内容)

javascript - 使用 jQuery 删除 <tr>