2017-04-25 5 views
0

私のajax呼び出しでFormDataが使用されていますが、TypeError: Argument 1 of FormData.constructor is not an object.と正しく通らず、クロムに問題はありません。これをFirefoxでどうやって解決できますか?ここに私のアヤックスコールがあります。これに代えてFirefoxでFormData()を正しく使用する

$('#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'); 
    } 
} 
}); 
}); 
+1

'form'は何ですか? 'id =" editRemovesubmedtypeForm "'を持つ要素がないことを暗示している 'null'でしょう - あなたが知っているHTMLを誰も公開していないので...注:chromeは間違っています'new FormData(null);'しかしFirefoxは* –

+1

ではありません。FormDataを適切に使用する方法を答えるには...引数なしでFormDataをインスタンス化するか、 'HTMLFormElement'である引数 - 明らかに' document.querySelector( '#editRemovesubmedtypeForm '); 'あなたが期待した結果をもたらさない –

+0

私は自分の側で「フォーム」が存在しないと結論づけました。とにかく助けてくれてありがとう。 – user827391012

答えて

0
あなたが使用することができます

serialize()

、などの
var form = document.querySelector('#editRemovesubmedtypeForm'); 
var formdata = $('#editRemovesubmedtypeForm').serialize(); 
+0

フォームの存在を変更する理由 - 質問にフォームが存在しない(つまり、 'document.querySelector( '#editRemovesubmedtypeForm');'がnullを返す) –

0

var formdata = new FormData(form); 

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

を試してみて、あなたが既に使用しているようajax() dataでこのformdataを渡します。

+0

なぜ 'form'は魔法のように' null '以外のものになるのでしょうか? –

関連する問題