gpt4 book ai didi

javascript - jQuery Ajax 不将数组作为数据对象发送

转载 作者:行者123 更新时间:2023-11-30 12:16:03 25 4
gpt4 key购买 nike

我正在构建一个联系表单,当用户点击提交按钮时,它会通过 ajax 调用向公司发送一封电子邮件。但是,它没有将数组变量从表单传递到 ajax PHP 文件。成功后将数组变量记录到控制台时,它似乎可以工作。但是电子邮件中缺少数据。这是我的代码示例:

$("form").submit(function(e) {
e.preventDefault();
if ($('#email').val() == $('#cemail').val()) {
var arr = [];
arr["fname"] = $('#fname').val();
arr["lname"] = $('#lname').val();
arr["email"] = $('#email').val();
arr["subject"] = $('#subject').val();
arr["newsletter"] = $('#newsletter').val();
arr["message"] = $('#message').val();

$.ajax({
url: "contact-ajax.php",
method: "POST",
data: {d: arr},
success: function (d) {
$('button#submit').css('background', '#A2D852');
$('button#submit').html('Message Sent Successfully!');
$('form').get(0).reset();
//alert(d);
console.log(arr);
setTimeout( function(){
$('button#submit').css('background', '#FF8A00');
$('button#submit').html('Send Message <img src="contact/images/loading-icon.gif" id="loading-icon">');
$('#loading-icon').hide();
},3000);
},
error: function(jqXHR, textStatus) {
$('button#submit').css('background', '#F75D53');
$('button#submit').html('Failed to send. Please try again!');
setTimeout( function(){
$('button#submit').css('background', '#FF8A00');
$('button#submit').html('Send Message <img src="contact/images/loading-icon.gif" id="loading-icon">');
$('#loading-icon').hide();
},4000);
}
});
}
else {
alert("Your confirmation email does not match your email.");
return false;
}
});

var_dump($d) 在控制台中返回 null 但 console.log(arr) 返回有效数组。任何帮助将不胜感激。

最佳答案

不使用数组,而是使用对象。

$("form").submit(function(e) {
e.preventDefault();
if ($('#email').val() == $('#cemail').val()) {

// from this
// var arr = [];
// arr["fname"] = $('#fname').val();
// arr["lname"] = $('#lname').val();
// arr["email"] = $('#email').val();
// arr["subject"] = $('#subject').val();
// arr["newsletter"] = $('#newsletter').val();
// arr["message"] = $('#message').val();

// to this :

var dataObj = { fname: $('#fname').val(),
lname: $('#lname').val(),
email: $('#email').val(),
subject: $('#subject').val(),
newsletter: $('#newsletter').val(),
message: $('#message').val()};


$.ajax({
url: "contact-ajax.php",
method: "POST",
data: dataObj,
success: function (d) {
$('button#submit').css('background', '#A2D852');
$('button#submit').html('Message Sent Successfully!');
$('form').get(0).reset();
//alert(d);
console.log(arr);
setTimeout( function(){
$('button#submit').css('background', '#FF8A00');
$('button#submit').html('Send Message <img src="contact/images/loading-icon.gif" id="loading-icon">');
$('#loading-icon').hide();
},3000);
},
error: function(jqXHR, textStatus) {
$('button#submit').css('background', '#F75D53');
$('button#submit').html('Failed to send. Please try again!');
setTimeout( function(){
$('button#submit').css('background', '#FF8A00');
$('button#submit').html('Send Message <img src="contact/images/loading-icon.gif" id="loading-icon">');
$('#loading-icon').hide();
},4000);
}
});
}
else {
alert("Your confirmation email does not match your email.");
return false;
}
});

关于javascript - jQuery Ajax 不将数组作为数据对象发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32382725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com