Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当我重定向到页面时,AJAX中的帖子不起作用_Php_Ajax_Redirect_Post - Fatal编程技术网

Php 当我重定向到页面时,AJAX中的帖子不起作用

Php 当我重定向到页面时,AJAX中的帖子不起作用,php,ajax,redirect,post,Php,Ajax,Redirect,Post,您好,我正在努力处理我的代码: 我尝试将一些数据发布到php页面: $('.choixvol').click(function() { var id = "testid"; $.ajax({ type: 'POST', url: 'vol.php', data: { id: id }, success: function() { window.locat

您好,我正在努力处理我的代码:

我尝试将一些数据发布到php页面:

$('.choixvol').click(function() {
    var id = "testid";
    $.ajax({
        type: 'POST',
        url: 'vol.php',
        data: {
            id: id
        },
        success: function() {
            window.location.href = "vol.php";
        },
    });
});
但是当我重定向到我的PHP页面时,
isset()
不起作用:

vol.php:

<?php
require'header_fr.php';
logged_only();

if(isset($_POST['id'])){
    $id = $_POST['id'];
}else{
    $id = "not isset";
}
?>
<div id="container"class="container">
    <div class="form-wrap text-center">
    <?php echo $id ?>
    </div>
</div>
<?php
require'footer_fr.php';
?>


并显示“not isset”

如果您想在重定向到页面时获取id,请通过get方法将其传入(前提是该id不是私有的,可以在url中查看)

$('.choixvol')。单击(函数(){
var id=“testid”;
$.ajax({
键入:“POST”,
url:'vol.php',
数据:{id:id},
成功:函数(){
window.location.href=“vol.php?id=”.$id;
},
}); 
});

虽然OP上的评论是正确的,但这种方法毫无意义。

它工作正常。重定向后,没有数据传入
$\u POST
POST
数据仅在AJAX请求中传递,重定向
window.location.href=“vol.php”是GET请求。如果你想重定向到你刚刚发布到的同一个页面,使用ajax没有多大意义;只需使用表单按钮直接发布到
vol.php
,而不是window.location。首先使用
alert()
测试它,为什么要重定向到发出ajax请求的同一页面?这是胡说八道。只需直接发布到php脚本:
$('.choixvol')。单击(function(){var id=“testid”;window.location=''vol.php?id=“+id;});
,然后使用表单提交按钮通过GET或post检索值。好的,GET方法可以工作,但我将尝试使用表单按钮来获取适当的方法。
$('.choixvol').click(function() {
  var id = "testid";
  $.ajax({
      type: 'POST',
      url: 'vol.php',
      data: {id: id},
      success: function() { 
            window.location.href = "vol.php?id=" . $id;
        },
  }); 
});



<?php
require'header_fr.php';
logged_only();

if(isset($_POST['id'])){
    //Do something with your post ID when using the post method
}

if(isset($_GET['id'])){
    //Do something with your GET ID when redirected back with the GET method
    $id = $_GET['id'];
}
?>

<div id="container"class="container">
  <div class="form-wrap text-center">
  <?php echo $id ?>
    </div>
  </div>
 <?php
   require'footer_fr.php';
?>