我正在尝试使用jquery来运行php文件。 php将一些信息发送到数据库。
php本身有效。我可以删除js代码,一切都发送到数据库。通过查看我的数据库显而易见的事情是显而易见的。表格中的内容未被收集。有些东西会进入数据库,但不是表单中的信息。
这是我的代码,可能是什么问题?
// submit without refresh
$(function() {
$('#form').submit(function(e) {
// Stop the form actually posting
e.preventDefault();
// Send the request
$.post('submit.php', {}, function(d) {
console.log(d);
// Here we handle the response from the script
// We are just going to alert the result for now
alert(d);
});
});
});
我的表单有id="form"
为什么js不收集表单信息?
答案 0 :(得分:1)
您不能以这种方式发布表单。 $ .post将不知道你的表单的元素,除非你告诉它要发送什么。要使上面的代码有效,您必须将表单的数据传递给$ .post,例如:
$.post('submit.php',
data: { <your form data here> },
success: function(data){
console.log(data);
}
);
答案 1 :(得分:0)
您需要将字段值传递给php脚本:
$.post('submit.php', {data: $(this).serialize()}, function(d) {
console.log(d);
// Here we handle the response from the script
// We are just going to alert the result for now
alert(d);
});
答案 2 :(得分:0)
您必须先获取表单数据。 Serialize用于获取表单数据。
$(function() {
$('#form').submit(function(e) {
var data = $(this).serialize(); // get the form datas
// Stop the form actually posting
e.preventDefault();
// Send the request
$.post('submit.php', data, function(d) {
console.log(d);
// Here we handle the response from the script
// We are just going to alert the result for now
alert(d);
});
});
});
答案 3 :(得分:0)
发送数据的最佳方式是ajax方法,如:
var nameVar = $("#name").val();
var loc = $("#location").val();
$.ajax({
type: "POST",
url: "some.php",
data: { name: nameVar, location: loc
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});