【问题标题】:jQuery AJAX pass form data and an array to PHPjQuery AJAX 将表单数据和数组传递给 PHP
【发布时间】:2018-07-03 03:29:46
【问题描述】:

我正在尝试通过 AJAX 将一些 HTML 表单数据以及一个全局数组传递给 PHP。我知道如何传递数组,也知道如何传递序列化的表单数据。但是我如何同时通过?我试过 data: { formData, arrGFormId: arrGFormId },但它不起作用。

编辑:表单只是一个带有一些输入的简单 HTML 表单。我的数组值来自另一个 AJAX 调用并被推入全局数组 arrGFormId。

function validateForm3(){

jQuery.ajax({
    type: "POST",
    url: "community_form_add.php",
    async: false,
    data: { arrAdminList: arrAdminList },
    }).done(function(rs){
    var sResult = rs.sResult;
    var arrFormId = rs.arrFormId;
    Array.prototype.push.apply(arrGFormId, arrFormId);

  })        
})

var arrGFormId = [];

jQuery('#formCreateForm').submit(function(e){

e.preventDefault(); 

var formData = new FormData(jQuery(this)[0]); 

formData.append('sAction', 'submitForm');
jQuery.ajax({
    type: "POST",
    url: 'community_form_add.php',
    data: formData,
    cache: false,
    contentType: false,
    processData: false,
    beforeSend:function(){

        jQuery('.load_ball').css("display","block"); 
    },  
    success: function(data)
    {   
            jQuery('.load_ball').css("display","none");
            jQuery('.cover').css("display","block");
            jQuery('.popUpSubmitSuccess').fadeIn(300);
    }       
})
});

【问题讨论】:

  • 您能否提供有关与您的formData 或数组相关的文件/脚本的更多详细信息?

标签: php jquery ajax


【解决方案1】:

您需要对数组进行编码,然后您可以将其添加到FormData。您可以将其转换为 JSON。

formData.append('arrGFormId', JSON.stringify(arrGFormId));

然后在 PHP 中你可以使用json_decode($_POST['arrGFormId'])

【讨论】:

    【解决方案2】:

    您可以在现有表单中使用隐藏输入。隐藏输入的值是数组。所以你只能通过 ajax 传递formData

    【讨论】:

      猜你喜欢
      • 2015-08-21
      • 2015-08-07
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-16
      • 1970-01-01
      • 2011-06-19
      相关资源
      最近更新 更多