1

在我的 ajax 表单中,我有一些复选框和一个用于电子邮件地址的文本框。表单有效,但我无法在同一个变量中发送复选框数组和电子邮件地址。对不起,我的英语不好。这是jquery代码:

$(文档).ready(函数 () {

$('#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;
    });

});

有什么建议吗?感谢你!

4

2 回答 2

0

您可以使用serializeArray()serialize()方法。

于 2012-07-02T10:38:30.817 回答
0

向服务器发送数据

http://api.jquery.com/jQuery.ajax/

默认情况下,Ajax 请求使用 GET HTTP 方法发送。如果需要 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 类型。

于 2012-07-02T10:53:20.703 回答