PHP中未收到AJAX Post值

时间:2016-02-04 11:43:57

标签: javascript php jquery mysql ajax

下面是我的ajax文件。在这里,我传递了所有文本框值。 我将这些值发布到edu.php。在那里,我想更新两个表,如细节和测试。

但是我的数据库中没有更新任何内容。虽然我用var_dump检查了值,但字符串似乎是空的。但是当从ajax传递时我用一个警告检查它,它显示了文本框中的所有值。所以我相信从ajax发布到php时会出现问题。

AJAX代码

$('#edubackgroundsubmit').click(function (event) {
  event.preventDefault();
  alert("Hello");
  var per_email = $('#per_email').val();
  var master_overall = $('#master_overall').val();
  var master_pass_year = $('#master_pass_year').val();
  var master_college = $('#master_college').val();
  var master_univ = $('#master_univ').val();

  var data1 ="master_qual="+master_qual+"&master_overall="
  +master_overall+"&master_pass_year="+master_pass_year+"&master_college="+master_college+"&master_univ="+master_univ
  +"&edu_flag="+edu_flag;
  alert(data1);
  $.ajax({
    type:"POST",
    url: "edu.php?per_mobile="+per_mobile,
    dataString1: data1
  }).done(function( dataString1 ) 
          {
    alert(dataString1);
    $('#edu_alert').append(
      '<div class="alert alert-success text-center">' +
      '<button type="button" class="close" data-dismiss="alert">' +
      '&times;</button>' + dataString1 + '</div>');
  });
});     

PHP文件

if (isset($_POST['pass_year_12'])) {
    $pass_year_12 = $_POST['pass_year_12'];
} else {
    $pass_year_12 = "";
}
$l1   = "UPDATE test
    SET  edu_flag='$edu_flag'
        WHERE  per_mobile='$per_mobile'";
$l2   = "UPDATE details
    SET master_qual='$master_qual',
        master_overall='$master_overall',
        master_pass_year ='$master_pass_year ',
        master_college='$master_college'
       WHERE per_mobile='$per_mobile'";
$exec = mysqli_query($link, $l1);
if (mysqli_query($link, $l2)) {
  echo "Education Details Updated Successfully";
} else {
  echo "Error updating record: " . mysqli_error($link);
}

2 个答案:

答案 0 :(得分:1)

这是错误的。这一点是什么:

dataString1: data1

您需要将其更改为:

data: data1

函数$.ajax() POST仅包含data属性中的内容。

答案 1 :(得分:0)

您的代码问题是您在edu.php发送数据?per_mobile

所以你需要在代码之前添加isset条件......比如这个

if(isset($_REQUEST['per_mobile'])){ //write your code here }

并将datastring替换为数据。 然后试试。

希望它可能会有所帮助。

例如,你也可以使用jQuery get或post方法,它更可靠,更容易学习。