从URL获取ID并通过Ajax将其发送到PHP


Get ID from URL and send it to PHP via Ajax

所以我有一个页面index.php?packageID=153。该页面有一个表单,当提交时通过Ajax调用

发送给PHP
<script type="text/javascript">
$(document).ready(function()
{
 $(document).on('submit', '#form_name', function()
 {
  var data = $(this).serialize();

  $.ajax({
  type : 'POST',
  url  : 'phpfile.php',
  data : data,
  success :  function(data) {
                $('.result-modal').html(data);
            },
            error: function (request, status, error) {
                alert(error.responseText);
                //or console.log(request.responseText), or status or error;
            }
  });
  return false;
 });
});
</script> 

我想从URL获取那个ID。当我不使用Ajax时,我通常只是做$_GET['PackageID'](在我的PHP文件中)从URL获取ID,但它不与Ajax一起工作(从我所经历的)。如何在PHP文件中获取ID ?

两种可能:

  1. 将PackageID作为GET参数插入url:

    url   : 'phpfile.php?PackageId=<?php echo $_GET['PackageID']; ?>',
    
  2. 将参数插入到JavaScript数据对象中,如:

    var data = $(this).serialize();
    data.PackageId = <?php echo $_GET['PackageId']; ?>;
    $.ajax({
    [...]
    

无论你怎么做,有时候你必须在JavaScript代码中从PHP输出文本

这是一个PHP文件,所以您仍然可以使用PHP。在文件的顶部添加如下内容:

<?php
echo '<script>';
echo "var id = $_GET['packageID']";
echo '</script>';
?>