2015-09-07 60 views
0

我通過POST傳遞數據到PHP使用JQuery,但是當頁面直接到php文件中,PHP中的POST["createVal"]似乎不退出回電後。我在下面的演示中展示了這一點,請注意,單擊回調結果時$name未定義。任何想法如何解決這個問題?JQuery的POST數據到PHP,直接到PHP,數據不存在了,在PHP

我試圖做一個函數,當返回的結果被點擊時,html頁面可以重定向到用戶在html文件中輸入的php頁面可以打印出來。

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; 
?> 
+1

你在那裏得到什麼錯誤?檢查控制檯 –

回答

1

變化

$("#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;  
} 
1

使用此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; 
?> 

我已經運行,並檢查這一點。

本地主機:如果你是在本地主機上運行此代碼

計算器:是的文件夾名稱,如果您有任何本地主機文件夾爲其所以這個替換名稱。