我写了一个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();
});

现在,我可以通过PHP文件中的$_POST数组访问用户在表单上填写的值。但是我也想将我上面代码中的注释值传递给PHP文件。

我要发送的值/参数不是表单字段的一部分。我已经操纵了这些变量的值。因此它们不能出现在$_POST数组中。

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

最佳答案

您应该更改此名称:formdata ? formdata : form.serialize()
将其存储在变量中,并连接要发送的值。

例如:

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

09-12 08:04