我有这个脚本:
<script>
function send_mail() {
$.ajax({
type: "POST",
url: "/software/hsn/send_mail.php",
data: $('[name="check_id[]"]').serialize(), // post array
{email : $("#email").val()} // post single value
success: function() {
// content
}
}
</script>
当我发布表单时,只发布了一个控件。例如:
$('[name="check_id[]"]').serialize(), // post array
或
{email : $("#email").val()} // post single value
通常情况下,即使我改变了位置,最后一次控制仍然有效。
谢谢大家!
答案 0 :(得分:1)
您的数据语法为 错误 。 数据可以是 PlainObject或String或Array ,但不能是多个逗号分隔值。 正确的数据语法是
data: {name1: value1, name2: value2},
所以你的语法应该是
{name : $('[name="check_id[]"]').serialize(),email : $("#email").val()},
查看jQuery ajax文档here。
答案 1 :(得分:0)
更改数据:
$('[name="check_id[]"]').serialize(), // post array
{email : $("#email").val()}
到
data: {check_id: $('[name="check_id[]"]').serialize(),email : $("#email").val()}
它将采用所有的价值观。 试试吧。
答案 2 :(得分:0)
您可以使用serializeArray
data: $('[name="check_id[]"]')
.add('#email') // add the element to the collection
.serializeArray() // serialize now
答案 3 :(得分:0)
谢谢大家,特别感谢吐温先生。我的问题已经解决了。
我使用这个脚本:
data: $('[name="check_id[]"]').serialize() + "&email=" + $("#email").val(),
它奏效了。