2016-08-02 93 views
0

如何使用ajax發佈多個數據?我想發佈輸入valueattr兩者。下面是一個例子:Ajax發佈多個數據

$('.input[type=\'text\']').keyup(function(){   
 
    $.ajax({ 
 
    type: 'POST', 
 
    url: 'index.php', 
 
    data: $('.input[type=\'text\']'), 
 
    dataType: 'json', 
 
    success: function(json) { 
 
     alert('done'); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" value="" attr="yes" />

回答

1

documented如, 「數據」 具有混合的類型(類型:PlainObject或字符串或陣列)。因此,您可以將數組或對象分配給數據屬性。

請嘗試以下;

$('.input[type=\'text\']').keyup(function(){  
    var dataToPost = { 
        value: $(this).attr('attr'), 
        attr: $(this).val() 
        }; 
      $.ajax({ 
        type: 'POST', 
        url: 'index.php', 
        data: dataToPost, 
        dataType: 'json', 
        success: function(json) { 
           alert('done'); 
        } 
      }); 
    }); 
0
$('.input[type=\'text\']').keyup(function(){ 
var obj = {}; 
obj.val = $(this).val(); 
obj.attr = $(this).attr('attr'); 
$.ajax({ 
       type: 'POST', 
       url: 'index.php', 
       data: obj, 
       dataType: 'json', 
       success: function(json) { 
          alert('done'); 
       } 
     }); 
}); 
0

$('.input[type=\'text\']').keyup(function(){ 
 
      var data = new FormData(); 
 
      $el = $('.input[type=\'text\']'); 
 
      data.append('value', $el.val()); 
 
      data.append('attr', $el.attr('attr')); 
 
      $.ajax({ 
 
\t \t   type: 'POST', 
 
\t \t   url: 'index.php', 
 
\t \t   data: data, 
 
\t \t   dataType: 'json', 
 
\t \t \t  success: function(json) { 
 
           alert('done'); 
 
        } 
 
      }); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" value="" attr="yes" />