在我的ajax表单中,我有一些复选框和一个电子邮件地址文本框。表单工作,但我不能在同一个变量中发送复选框数组和电子邮件地址。对不起,我的英语不好。这是jquery代码:
$(document).ready(function(){
$('#submit').click(function () {
var valore = { 'how_hear[]' : []};
$("input:checkbox:checked").each(function() {
valore['how_hear[]'].push($(this).val());
}); // Checkboxes value
var name = $('input:text');
//发送到php的数据组织。我认为问题出在这里,但我无法解决!!!
var data = 'name=' + name.val() + '&check=' valori;
$.ajax({
type:'POST',
url:'myurl.php',
data: data, // If i send only the variable "name" or only the variable "valore", it works fine!
cache: false,
success:function (data) {
$('form').append('GIUSTO!!!!');
}
});
return false;
});
});
有什么建议吗?谢谢你!
答案 0 :(得分:0)
您可以使用serializeArray()
或serialize()
方法。
答案 1 :(得分:0)
将数据发送到服务器
http://api.jquery.com/jQuery.ajax/
默认情况下,使用GET HTTP方法发送Ajax请求。如果需要POST方法,可以通过为type选项设置值来指定方法。此选项会影响数据选项的内容如何发送到服务器。根据W3C XMLHTTPRequest标准,POST数据将始终使用UTF-8字符集传输到服务器。
The data option can contain either a query string of the form key1=value1&key2=value2, or a map of the form {key1: 'value1', key2: 'value2'}
的。如果使用后一种形式,则在发送之前使用jQuery.param()将数据转换为查询字符串。通过将processData设置为false可以避免此处理。如果您希望将XML对象发送到服务器,则可能不希望进行处理;在这种情况下,将contentType选项从application / x-www-form-urlencoded更改为更合适的MIME类型。