当我提醒所有字段值时,它们看起来很完美,但是当我尝试使用PHP插入数据库时,所有值都是null
。发生了什么?
这是我的HTML
<form action="ajax.php" id="myform" method="post">
<input type="hidden" id="userid" name="userid" value="<?php echo $user_id; ?>" />
<input type="hidden" id="courseid" name="courseid" value="1" />
<li class="active">
<div id="#mybox">
<a class="" id="media-play1" state="1"><i class="fa fa-play-circle-o"></i> Welcome <p>55s</p></a>
</div>
</li>
</form>
JQuery Ajax
$("#media-play1").on("click",function(e){
e.preventDefault();
var userid = $("#userid").val();
var courseid = $("#courseid").val();
var coursename = $("#coursename").text();
alert(userid);
alert(courseid);
alert(coursename);
$.ajax({
url: 'ajax.php',
async: true,
cache: true,
data: alert("userid=" + userid + "&courseid=" + courseid + "&coursename=" + coursename),
type: 'POST',
//data:alert($(this).serialize()),
success: function(){alert('success');},
//dataType: "json",
}); });
我的PHP文件
session_start();
include_once('admin/conn.php');
if(isset($_POST['userid'])){
echo $userid = $_POST['userid'];
echo $courseid = $_POST['courseid'];
echo $coursename = $_POST['coursename'];
$queryin = mysql_query("INSERT INTO `tranings` (`id`, `userid`, `courseid`, `traninigname`) VALUES ('','".$userid."','".$courseid."','".$coursename."')") or die(mysql_error());
if($queryin){
echo 'insert';
} else {
echo 'not insert';
}
答案 0 :(得分:0)
首先,正如您在评论中提到的那样,$("#coursename")
元素不在您提供的HTML中,因此var coursename = $("#coursename").text();
等于零。
关于为什么你的数据没有被传递到你的php的问题,当你应该是一个返回数据或对象的函数时,你正在调用alert()
作为你的ajax调用中的数据属性像这样
$.ajax({
url: 'ajax.php',
async: true,
cache: true,
data: {
userid: userid,
courseid: courseid,
coursename: coursename
},
type: 'POST',
//data:alert($(this).serialize()),
success: function(data){
console.log(data); // log the returned data
alert('success');
},
//dataType: "json",
});
答案 1 :(得分:0)
请改变您的Ajax
电话:
$.ajax({
url: 'ajax.php',
async: true,
cache: true,
data: "userid=" + userid + "&courseid=" + courseid + "&coursename=" + coursename,
type: 'POST',
//data:alert($(this).serialize()),
success: function(){alert('success');},
//dataType: "json",
});
您正在使用数据中的提醒。
除此之外,我还建议使用serialize
方法,其中更好的选择就是示例:http://api.jquery.com/serialize/