我有2个PHP文件,我想使用$_POST
方法将数据发布到第2页(pageA.php
& pageB.php
这些位于根目录中)
这是pageA.php:
<?php
$userID = "123";
$userName = "Frank";
?>
<html>
<head>
<script src="mystyle/app/res/js/jquery-mobile/jquery.mobile-1.4.5.js">
</script>
<script src="mystyle/app/res/js/jquery/jquery-3.1.1.js"></script>
</head>
<body>
<input type="hidden" name="userID" value="<?php echo $userID;?>"/>
<input type="hidden" name="userName" value="<?php echo $userName;?>"/>
<script type="text/javascript">
var userID = $('input[name="userID"]').val();
var userName = $('input[name="userName"]').val();
$('body').click(function() {
$.ajax({
type: "POST",
url: 'pageB.php',
data: {userID: userID, userName: userName},
success: function() {
alert(userID + userName);
$('body').load('pageB.php');
}
});
});
</script>
</body>
</html>
这是pageB.php:
<?php
$userID = $_POST['userID'];
echo "<script>alert('" . $userID . "');</script>";
?>
我得到的错误消息来自PHP,并出现以下错误:
注意:未定义的索引:第2行的C:\ xampp \ htdocs \ pageB.php中的userID
我做错了什么,以便没有数据发布到第二页? AJAX请求中的alert ();
显示正确的数据。
答案 0 :(得分:4)
在ajax()
来电完成后,您会立即通过pageB.php
再次请求.load()
,完全没有参数。因此错误。
如果您要加载pageB.php
的结果,请使用ajax()
调用的结果:
success: function(data) {
$('body').html(data);
}
答案 1 :(得分:1)
您要求pageB.php
两次。一旦获得数据,然后一次,不用数据。第一个请求正常运行,第二个请求给你错误。
只需删除完全不必要的第二个请求:
$('body').load('pageB.php');