我正在使用jquery和ajax在mysql中使用php发布我的html表单(有一个日期输入字段,一个选择列表和一个多选列表)的数据。问题是我无法发布数据,因为它提供错误“提交时出错”。我不知道我的代码有什么问题。 mysql连接没有问题。我是ajax和jquery的新手,因此无法弄清楚问题。提前谢谢。
fire bug在“data:”行中显示此错误
“SyntaxError:missing:属性id之后”
行:“selected-supervisor-name:sup_data”,
jQuery的:
function check_submit(){
var date_ass=$('#datepick').val();
alert(date_ass);
var sup_data = $('#sel-sup-list').serialize();
alert(sup_data);
var lab_data = $('#sel-lab-list').serialize();
alert(lab_data);
$.ajax({
url: "insert.php",
type: "post",
data: data: { date: date_ass,
chosen-supervisor-name: sup_data,
chosen-laborers-name: lab_data },
success:function(data){
$("#result").html(data);
},
error:function(){
$("#result").html('There is error while submit');
}
});
};
PHP:
$date = mysqli_real_escape_string($con, $_POST['date']);
$ccno_sup = mysqli_real_escape_string($con, $_POST['chosen-supervisor-name']);
$ccno_lab = $_POST['chosen-laborers-name'];
foreach($ccno_lab as $i => $lab_ccno){
$sql2="INSERT INTO Date_Supervisor_Laborers (date_of_association, ccNo_Supervisors, ccNo_Laborers)
VALUES ('$date', '$ccno_sup', '$lab_ccno')";
if (!mysqli_query($con,$sql2)) {
die('Error: ' . mysqli_error($con));
}
echo "The record is added";
echo "<br/>";
}
答案 0 :(得分:0)
您正在使用帖子,同时您正在尝试为data
属性构建查询字符串。
根据jQuery的ajax()
的官方文档,通过post的数据不应该是连接的查询字符串:
http://api.jquery.com/jquery.ajax/
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
})
所以在你的情况下,它应该是
data: { date: date_ass, chosen-supervisor-name: sup_data, chosen-laborers-name: labdata }
您可能需要删除datatype
属性。
答案 1 :(得分:0)
只需使用https
代替http
或使用
//ajax.googleapis.com/ajax/l..
例如
<script src="https://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
or
<script src="//code.jquery.com/ui/1.10.2/jquery-ui.js"></script>