【问题标题】:ajax and adding the the serializearray in jqueryajax 并在 jquery 中添加 serializearray
【发布时间】:2023-04-04 19:07:01
【问题描述】:

我该如何进行这项工作?我正在尝试做 AJAX 帖子。我习惯做 .serialize 但我想向数组添加另外两个值和键。我怎样才能轻松做到这一点?

        $('#moreprojects').click(function(){
            var skip = $(this).attr('name');
            var more = $(this).attr('rel');
            var param = $('#companies').serializeArray();
            param.push({name: 'skip', value: skip})
            param.push({name: 'more', value: more})
            $.post('projectsmore.php', {param}, function(response){
                $('#projects tbody').append(response);
            })  
        })

【问题讨论】:

标签: jquery ajax serializearray


【解决方案1】:

添加值的方式应该没问题。但是您对$.post 的调用应该是:

$.post('projectsmore.php', param, function(...

param 附近没有 {})。

【讨论】:

  • 我尝试了 alert(param),它只返回 object Object object Object 等。它不适用于 php。
  • 我尝试了 alert(param),它只返回 object Object object Object etc:这是意料之中的,因为你有一个 objects 数组。当您使用alert 时,参数将转换为字符串,并且对象的默认字符串表示为[object Object]alert不是用于调试,请改用console.log。 JS 本身是正确的。也许错误出在您的 PHP 脚本中。
【解决方案2】:

由于您将 param 变量注入 $.post 的方式,您遇到了问题。因为变量 param 已经是一个对象,所以不需要用括号括起来。

所以而不是:

$.post('projectsmore.php', {param},

应该是:

$.post('projectsmore.php', param, 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    相关资源
    最近更新 更多