【问题标题】:serialize form getjson not working序列化表单getjson不起作用
【发布时间】:2026-01-27 23:10:01
【问题描述】:

我想获取序列化的表单值并使用 getJson 将其通过 url 传递。它工作得很好,但它以某种方式停止工作。它仍然适用于 IE,但不再适用于 FF。这是代码。

$(function() {
    $('#gui-form').on('submit', function(e) {
        var data = $("#gui-form :input").serialize();
        $.getJSON("https://test.com/process.php",data)
                  });
});

在 process.php 中我将 $_GET 值。

【问题讨论】:

  • $("#gui-form :input").serialize() 替换为$("#gui-form").serialize()

标签: jquery json forms serialization getjson


【解决方案1】:

由于您在表单上使用submit 方法,您可以在jQuery 上使用$(this) 选择器来序列化当前表单的输入(假设您的所有HTML 输入都正确设置了name 属性)。尝试这样做:

$(function() {
        $('#gui-form').on('submit', function(e) {
            e.preventDefault();
            var data = $(this).serialize();
            $.getJSON("https://test.com/process.php", data, function(result){
                console.log(result);
            }));
        });
    });

【讨论】:

  • 我在 Firefox 中收到跨域请求被阻止错误。有没有解决方法。像httprequest这样的东西?我不熟悉那个
  • eek.. 好的 ol Cross Origin 错误。有一种解决方法,请稍等。
  • 看看我过去给某人的这个答案:*.com/questions/28461850/…