我正在尝试使用ajax插入数据库。它适用于chrome但可以在firefox上运行。请帮助。我的代码是
我在控制台上有这些
Use of inputEncoding is deprecated.
FormData { }
这是我的剧本
$(document).ready(function() {
$('.comment-block').load('connection/profile_comment.php');
$("#pcom").on('submit', function(e){
e.preventDefault();
var myForm = new FormData($(this)[0]);
console.warn(myForm);
$.ajax({
type:'POST',
url: 'connection/profile_comment.php',
data : new FormData($(this)[0]),
cache: false,
contentType:false,
processData: false,
beforeSend: function(){
$("#loading").show().fadeOut(5000);
},
success: function(data){
//$('.comment-block').load('connection/profile_comment.php');
console.log(data);
$("#loading").hide();
$("#success").show().fadeOut(5000);
$("#pcom").find("#profile_comment").val("");
$('.comment-block').html(data);
},
error: function(data){
$("#error").show().fadeOut(5000);
}
});
});
});
和connection / profile_comment.php
if (isset($_POST['pcomment']))
{
$comment=$_POST['profile_comment'];
$student_id=$_POST['student_id'];
$sendcomment=$dbh->prepare("INSERT INTO profile_comment (student_id, commenter_id, comment) VALUES (:student_id,:commenter_id,:comment)");
$sendcomment->bindParam(':student_id', $student_id);
$sendcomment->bindParam(':commenter_id', $user_id);
$sendcomment->bindParam(':comment', $comment);
$sendcomment->execute();
}
答案 0 :(得分:2)
首先解决这个问题:
$("#pcom").on('submit', function(){
return false;
对此:
$("#pcom").on('submit', function(event){
event.preventDefault();
如果不起作用,请在最后一个代码旁边添加(在$ .ajax(...)之前:
var myForm = new FormData($(this)[0]);
console.warn(myForm);
并告诉我们在控制台上显示的内容