当前位置: 首页 > 面试题库 >

通过ajax提交多种表格

燕意蕴
2023-03-14
问题内容

我正在尝试通过ajax帖子提交多种表单,但是问题是服务器在帖子中返回了一个空数组。

这是我的JS中的代码:

$('#check_test').click(function(e){
    e.preventDefault();
    e.stopPropagation();

    var results = [];
    $('form').each(function(){
        results.push($(this).serialize());
    });

    $.ajax({
        'url': 'handler/test_handler.php',
        'method': 'POST',
        'data': JSON.stringify(results),
        'dataType': 'html',
        'success': function (data) {
            console.log(data);
        }
    });
});

在服务器端:

var_dump(json_decode($_POST)); // null
var_dump($_POST); // empty array

我究竟做错了什么?谢谢!


问题答案:

不,没有method属性,其type

$.ajax({
    'url': 'handler/test_handler.php',
    'type': 'POST', // type not method
    'data': {data: JSON.stringify(results)},
    'dataType': 'html',
    'success': function (data) {
        console.log(data);
    }
});

method<form>标记中使用的属性。

样本输出

旁注:我认为serializeArray()更合适:

results.push($(this).serializeArray());

另一个例子



 类似资料:
  • 问题内容: 所以假设我有3种形式 每个表单都有自己的提交按钮 现在假设我有另一种形式 其唯一的功能是同时提交所有其他3种形式。…现在这里是约束: 当submitAll提交后,它必须使用Ajax这样做,并且最好通过POST将输入的数据从所有其他3种形式转发到processor.php processor.php需要能够区分输入到哪种形式…然后分别处理每种形式的输入 我的问题是..什么是使proces

  • 问题内容: 我正在使用以下jQuery代码通过AJAX提交表单。 代码完美运行,没有ajax。 但是,如果我通过Ajax加载表单,则无法正常工作。 我认为这是因为JavaScript加载后通过ajax加载了表单。 有什么办法吗? 问题答案: 如果使用jQuery 1.7+,则可以尝试使用.on()委托事件并绑定到具有相同类的所有将来的表单。尝试查找没有动态插入的最接近的父代,而不是$(docume

  • 问题内容: 我想通过jquery ajax提交此表单,这是我所做的,并且不起作用。即表格提交与页面刷新,我没有看到响应,即在同一页面上打印数组。 的HTML PHP(submit.php) 问题答案: 使用此方法-出现一些语法错误,必须提交事件

  • 问题内容: 我有一个包含几种形式的页面。我想添加一个提交按钮,该按钮将允许同时保存所有表单,如下所示: 我遇到的问题是,提交第一个表单后,它将页面重定向到该表单的目的地-我想拦截该重定向,以便我可以处理下一个表单。 我知道这可以通过AJAX完成,这将以某种方式允许我捕获返回的页面(如果我选择的话可以忽略它),但是我不知道如何在不映射表单中的每个字段的情况下执行此操作手动。 有人可以帮忙吗? 问题答

  • 问题内容: 我有一个配置文件创建表单,其中包含一个电子邮件地址字段。我需要确保用户输入的电子邮件地址格式正确,并且尚未使用。对于格式检查,我通过isValidEmailAddress函数执行了一个简单的客户端验证,效果很好。对于需要检查电子邮件地址是否不存在的另一部分,我向控制器方法执行了一个jquery帖子,如果该电子邮件已被某人使用,则返回一个字符串“电子邮件地址已在使用中”。第一个“ ret

  • 问题内容: 我想通过ajax更新表单提交而无需重新加载页面并根据它更新视图。我尝试了不同的方法,但作为Rails的新手失败了。 这是情况。 模态 在查看表单代码。 创建动作 最后我认为我想改变 花了很多时间用AJAX进行更新,但每次都失败。有什么需要帮助的吗?提前致谢。 问题答案: 您的代码不错,但是对于 ajax来说 , 您需要添加到表单中。 此外,在服务器端, 您需要在其中创建一个js.erb