Jquery 创建AJAX数据字符串

Jquery 创建AJAX数据字符串,jquery,ajax,forms,Jquery,Ajax,Forms,我正在通过AJAX向PHP脚本提交一个表单,该脚本向我发送一封包含表单详细信息的电子邮件。表单非常简单,只是我有一组复选框,表示填写表单的人想要的项目类型。我知道如何用一个简单的表单组装数据字符串,但我很难找到添加名称等于projecttype[]的复选框的最佳方法。理论上,我想我想要的是: website=example.com&projecttype=1,2,4,6&budget=$500-$1000. 您可以在jfiddle中找到表单和Javascript:jQuery

我正在通过AJAX向PHP脚本提交一个表单,该脚本向我发送一封包含表单详细信息的电子邮件。表单非常简单,只是我有一组复选框,表示填写表单的人想要的项目类型。我知道如何用一个简单的表单组装数据字符串,但我很难找到添加名称等于projecttype[]的复选框的最佳方法。理论上,我想我想要的是:

website=example.com&projecttype=1,2,4,6&budget=$500-$1000. 

您可以在jfiddle中找到表单和Javascript:

jQuery有一个函数正好用于此目的:。它接受表单中的每个元素并创建一个查询字符串。下面的代码片段应该足够了

$("#submit").click(function() {
  $.ajax({
    type: "POST",
    url: "/bin/send_form_email.php",
    data: $('#contactform').serialize(),
    cache: false,
    success: function() {
    //    ...
    },
    return false;
  });   
});

.serialize()为我提供&projecttype=1&projecttype=5&projecttype=6。在PHP中重新组合projecttype变量的最佳方法是什么?这不是我得到的。我得到
projecttype[]=1和projecttype[]=2
等。它应该可以作为数组
$\u POST['projecttype']
从PHP访问。对不起,我编辑了字段名,但它是相同的。好的,我会试试的,谢谢。如果这是你得到的,我建议你升级你的浏览器,可能还有你正在使用的任何JavaScript调试工具。