JQuery POST数据到php,直接到php,数据不再存在于php


JQuery POST data to php, direct to php, data not exist anymore in php

我使用JQuery通过POST传递数据到php,但是当页面直接到php文件时,php中的POST["createVal"]在回调后似乎没有退出。我在下面的演示中展示了这一点,请注意,当单击回调结果时,$name是未定义的。知道怎么解决这个问题吗?

我试图使一个函数,当返回的结果被点击,html页面可以重定向到php页面,其中用户输入的html文件可以打印出来。

HTML文件

 <html>
    <head>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<input type="text" id="userinput">
    <div id="result">
    </div>
</body>
<script>
    $("input").keyup(function(){
        var input=$("input").val();
        $.post("process.php",{createVal:input},function(data){
            $("#result").html("<a href='process.php'>"+data+"</a>");
        })
    })
</script>
</html>
php文件(process.php)

<?php
if(isset($_POST["createVal"])){
    $name=$_POST["createVal"];
    echo $name;     
}
?>
<?php
    echo $name;
?>

change

$("#result").html("<a href='process.php'>"+data+"</a>");

$("#result").html("<a href='process.php?createVal="+data+"'>"+data+"</a>");

process.php

if(isset($_REQUEST["createVal"])){
    $name=$_REQUEST["createVal"];
    echo $name;     
}

使用这个Html代码:

<html>
<head>
    <script type="text/javascript"   src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
  </head>
 <body>
<input type="text" id="userinput">
   <div id="result"> </div>
 </body>
<script>
$("input").keyup(function(){ 
    var input=$("input").val();
    $.ajax({
        type: "POST",
        url: "http://localhost/stackoverflow/process.php",
        data: {'createVal': input},
        success: function(data){
            $("#result").html("<a href='http://localhost/stackoverflow/process.php?createVal="+data+"'>"+data+"</a>");
        }
    });
});
</script>
 </html>
PHP代码:

<?php
 if(!empty($_REQUEST['createVal']) || !empty($_GET['createVal'])){
  $name = $_REQUEST['createVal'];
  echo $name;     
 }elseif(!empty($_GET['createVal'])){
  $name = $_GET['createVal'];
  echo $name;  
 }
 return 1;
?>

我已经运行并检查了这个。

localhost:如果您在localhost上运行此代码

stackoverflow:是文件夹名,如果你在本地主机上有任何文件夹,那么用这个代替名称