簡體   English   中英

使用查詢字符串參數傳遞表單數據

[英]Pass Form Data with Query String Parameters

我正在使用$.ajax發布兩個表單 select 值並觸發重新安裝事件,但我無法傳遞Form Data值。

這是我的click.function

$('button.submitForm').click(function (event) {
     event.preventDefault()
     var form = $(this.form)
     var formCont = new mgFormControler(form.attr('id'))
     var formData = formCont.getFieldsData()

     $.ajax({
          url: form.attr('action') +
               '&loadData='+ form.attr('index') + 
               '&namespace='+ form.attr('namespace') +
               '&index='+ form.attr('index') +
               '&ajax=1' +
               '&mgformtype=' + form.attr('mgformtype'),
               type: form.attr('method'),
               processData: false,
               contentType: false,
               data: formData
          }).done(function (data) {
               console.log(form.attr('id'))
               console.log(form.attr('namespace'))
               data = data.data
               if (data.status === 'success') {
                    console.log(data.status + ': ' + data.message)
               } else {
                    console.log(data.status + ': ' + data.message)
               }
          });
     });
});

dev.tools 中的 header(第一張圖片)顯示 formData 在查詢字符串參數中作為 object 傳遞, 第一張圖片 但我想將它作為一個單獨的元素傳遞(第二張圖片)

第二張圖片

我嘗試new FormData()但我總是得到與 object 相同的結果(第一張圖片)。

嘗試在您的代碼中使用:

    type: 'POST',
    data: jQuery.param({ field1: "hello", field2 : "hello2"}) ,
    contentType: 'application/x-www-form-urlencoded; charset=UTF-8',

嘗試 JSON.stringify()

$('button.submitForm').click(function (event) {
 event.preventDefault()
 var form = $(this.form)
 var formCont = new mgFormControler(form.attr('id'))
 var formData = formCont.getFieldsData()

 $.ajax({
      url: form.attr('action') +
           '&loadData='+ form.attr('index') + 
           '&namespace='+ form.attr('namespace') +
           '&index='+ form.attr('index') +
           '&ajax=1' +
           '&mgformtype=' + form.attr('mgformtype'),
           type: form.attr('method'),
           processData: false,
           contentType: false,
           data: JSON.stringify(formData) //add this
      }).done(function (data) {
           console.log(form.attr('id'))
           console.log(form.attr('namespace'))
           data = data.data
           if (data.status === 'success') {
                console.log(data.status + ': ' + data.message)
           } else {
                console.log(data.status + ': ' + data.message)
           }
      });
 });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM