2017-04-19 57 views
0

我使用這段代碼進行Ajax調用:jQuery的AJAX請求數據字段

$('#filter').submit(function(){ 
    var filter = $('#filter'); 
    $.ajax({ 
     url:filter.attr('action'), 
     data:filter.serialize(), // form data 
     type:filter.attr('method'), // POST 
     beforeSend:function(xhr){ 
      filter.find('button').text('caricamento...'); // changing the button label 
     }, 
     success:function(data){ 
      filter.find('button').text('Filtra'); // changing the button label back 
      $('.load').html(data); // insert data 
      $('.grve-iso-spinner').hide(); 
     } 
    }); 
    return false; 
}); 

我需要更多的變量添加到「數據」屬性,是這樣的:

data : { 
     var1: 'value1', 
     var2 : 'value2' 
    } 

如何合併兩個數據元素?

在此先感謝

回答

0

你可以試試這個:

data: filter.serialize() + '&key=' + value, 

這將增加key: value對形成serialize數據。作爲serialize數據是密鑰的形式:值對,可以按照相同的圖案添加其他值

0

在jQuery serialize()函數產生在標準URL編碼符號的文本串,你只需要串聯新值要添加:

var data = filter.serialize(); 
data += "&var1=" + value1 + "&var2=" + value2; 
0

這個答案請看: jQuery post() with serialize and extra data

它採用serializeArray和推多餘的數據到數組,那麼你就可以通過這個數組Ajax調用。

var data = $('#filter').serializeArray(); 
data.push({name: 'wordlist', value: wordlist}); 
0

試試這個

var data = $('#filter').serializeArray(); 
data.push({name: 'var1', value: value1}); 
data.push({name: 'var2', value: value2}); 

$('#filter').submit(function(){ 
    var filter = $('#filter'); 
    $.ajax({ 
     url:filter.attr('action'), 
     data:{ data : data }, // form data 
     type:filter.attr('method'), // POST 
     beforeSend:function(xhr){ 
      filter.find('button').text('caricamento...'); // changing the button label 
     }, 
     success:function(data){ 
      filter.find('button').text('Filtra'); // changing the button label back 
      $('.load').html(data); // insert data 
      $('.grve-iso-spinner').hide(); 
     } 
    }); 
    return false; 
});