我正在尝试使用 AJAX 提交我的表单,但数据未被传递。但是,我收到一条成功消息。
我是否需要以某种方式在我的数据字符串中指定我的变量?
var dataString = first_name + surname + email_addr + user_age + user_type;
//alert (dataString);return false;
$.ajax({
type: "POST",
url: "process-signup.php",
data: dataString,
success: function() {
$('#contact_form').html("<div id='message'></div>");
$('#message').html("<h2>Contact Form Submitted!</h2>")
.append("<p>We will be in touch soon.</p>")
.hide()
.fadeIn(1500, function() {
$('#message').append("<img id='checkmark' src='images/check.png' />");
});
}
});
return false;
最佳答案
是的。传递一个像这样的 json:
JSON.stringify({ firstName: first_name, surName: surname ... });
正如评论中所指出的,如果您使用的是 jQuery ajax,它会自动将对象转换为查询字符串。
或指定参数名称(您只传递一个字符串,有效的查询字符串应类似于“parametername1=paramatervalue1¶metername2=paramatervalue2”):
data: 'firstName=' + first_name + '&surname=' + surname + '&email=' + email_addr ...
然后在服务器端你应该有这样的变量:
$_POST['firstName']; // first_name
$_POST['surname']; // surname
希望对您有所帮助。
关于php - 提交不插入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16821232/