如何使用ajax发布多个数据?我想发布输入value
和attr
两者。这是一个例子:
$('.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" />
&#13;
答案 0 :(得分:1)
作为documented,“data”具有混合类型(Type:PlainObject或String或Array)。因此,您可以将数组或对象分配给数据属性。
尝试以下内容;
$('.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');
}
});
});
答案 1 :(得分: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');
}
});
});
答案 2 :(得分: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({
type: 'POST',
url: 'index.php',
data: data,
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" />