来自php的响应错误

时间:2014-07-18 11:33:02

标签: php jquery mysql ajax

我正在使用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/>";

    }

2 个答案:

答案 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

加载您的javascript

或使用

//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>