在Firefox中正确使用FormData()

时间:2017-04-25 04:54:31

标签: javascript jquery ajax

我的ajax调用正在使用FormData,但它不会正确地说TypeError: Argument 1 of FormData.constructor is not an object.,但它没有chrome问题。我怎么能在Firefox中解决这个问题?这是我的ajax电话。

$('#modal_activate_btn, #modal_approve_activate').on("click", function () {

var form = document.querySelector('#editRemovesubmedtypeForm');
var formdata = new FormData(form);

if ( $(this).attr('id') == 'modal_approve_activate' ) {
    parent_id = $(this).val();
    console.log(parent_id);
}

$.ajax({
    type: 'POST',
    url: '/activate_raw_material/' + parent_id,
    cache: false,
    contentType: false,
    processData: false,
    data: formdata,
    success: function (data) {
    console.log(data);
    if (data == 'exists') {
        $('#ReactivateModal').modal('toggle');
        $('#activateModal').modal('toggle');
    }
    else {
        $('#status_' + data).text('Active').removeClass('label-warning').removeClass('label-danger').addClass('label label-success');
        $('#med_act_'+data).css('display', 'none');
        $('#list_label_refresh_'+data).css('display', 'inline-block');
        $('#activateModal').modal('hide');
    }
}
});
});

2 个答案:

答案 0 :(得分:0)

您可以使用serialize()之类的,

info.ExternalPrincipal.FindFirstValue("pictureUrl"); 

答案 1 :(得分:-1)

而不是:

var formdata = new FormData(form);

var formdata = new FormData();
formdata.append(form);
// In the same way you can append more item to formdata

并在formdata中传递此ajax() data,因为您已经在使用。