Javascript 如何将jQueryAjax函数中的值发送到PHP文件并访问PHP文件中的值?

Javascript 如何将jQueryAjax函数中的值发送到PHP文件并访问PHP文件中的值?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我编写了一个jQuery AJAX函数,如下所示: $('#request_form').submit(function(e) { var form = $(this); var stud_id = $('#stud_id').val(); var reg_date = $('#reg_date').val(); var formdata = false; var fileInput = $("#receipt_image")[0]; /*I want to p

我编写了一个jQuery AJAX函数,如下所示:

$('#request_form').submit(function(e) {
  var form = $(this);
  var stud_id = $('#stud_id').val();
  var reg_date = $('#reg_date').val();
  var formdata = false;


  var fileInput = $("#receipt_image")[0];  

  /*I want to pass values of below variables to the PHP file.*/
  var ImgSizeInBytes = fileInput.files[0].size;
  var filename = $('input[type=file]').val().split('\\').pop();
  var customer_id = $('#customer_id').val();
 /*These values need to send to PHP file and access there */

  if(window.FormData) {
    formdata = new FormData(form[0]);
  }

  var formAction = form.attr('action');

  $.ajax({
    url         : 'student_request.php',
    type        : 'POST',    
    cache       : false,
    data        : formdata ? formdata : form.serialize(),
    contentType : false,
    processData : false,
    success: function(response) {
      var responseObject = $.parseJSON(response);    
      if(responseObject.error_message) { 
        if ($(".alert-dismissible")[0]) {
          $('.alert-dismissible').remove();   
        }  
        var htmlString = "<div class='alert alert-danger alert-dismissible' role='alert'><button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>"+responseObject.error_message+"</div>";    
        $(htmlString).insertBefore('div.modal-body #request_form');        
      } else { 
        alert("Student successfully registered...!!!");       
      }
    }
  });
  e.preventDefault();
});
$('request#u form')。提交(函数(e){
变量形式=$(此);
var stud_id=$('#stud_id').val();
var reg_date=$('#reg_date').val();
var formdata=false;
var fileInput=$(“#收据_图像”)[0];
/*我想将以下变量的值传递给PHP文件*/
var ImgSizeInBytes=fileInput.files[0]。大小;
var filename=$('input[type=file]').val().split('\\').pop();
var customer_id=$('#customer_id').val();
/*这些值需要发送到PHP文件并在那里访问*/
if(window.FormData){
formdata=新的formdata(表格[0]);
}
var formAction=form.attr(‘action’);
$.ajax({
url:'student_request.php',
键入:“POST”,
cache:false,
data:formdata?formdata:form.serialize(),
contentType:false,
processData:false,
成功:功能(响应){
var responseObject=$.parseJSON(响应);
if(responseObject.error_消息){
如果($(“.alert dismissible”)[0]){
$('.alert dismissible').remove();
}  
var htmlString=“×;”+responseObject.error_message+”;
$(htmlString).insertBefore('div.modal-body#request_form');
}否则{
警报(“学生成功注册…!!!”);
}
}
});
e、 预防默认值();
});
现在,我可以通过PHP文件中的
$\u POST
数组访问用户在表单上填写的值。但我还想将我在上面代码的注释中输入的值传递到PHP文件

我要发送的值/参数不是表单字段的一部分。我已经操纵了这些变量的值。所以他们不能进入
$\u POST
数组


我的问题是如何将这些值发送到PHP文件,以及如何访问PHP文件中的这些值?

您应该更改以下内容:
formdata?formdata:form.serialize()

将其存储在变量中,并连接要发送的值

例如:

var pars = formdata ? formdata : form.serialize();
pars += "&myField1=myValue1&myField2=myValue2"

正如@chris所说,您所需要做的就是将您自己的隐藏变量连接到post变量。如我所见,您对如何在php文件中使用这些额外变量感到困惑,下面是一个简单的示例:

var params = formdata ? formdata : form.serialize();
params += "param1=myExtraVar1&param2=myExtraVar2";
现在您已经准备好将所有变量发送到php文件,请在ajax调用中修改数据参数,如下所示:

...data: params,
到目前为止,一切顺利。让我们看看另一面(PHP)


这不是一个完整的解决方案。我应该如何在PHP中访问这些数据?您可以将其集成到我的代码中吗?通过$\u POST[“myField1”],您可以访问myField1参数的值(在本例中为“myValue1”)。
<?php 
    // get the variables you want to treat.
    $param1 = $_POST['param1']; // now you have access to this variable from ajax call
   // Notice you can display all variables you have in superglobal variable POST 
   // by dumping it using either var_dump($_POST) or print_r($_POST)
dataType: "json", // if you put this in last line, omit the comma, otherwise leave as it is