如何使用jQuery在同一页面中将值POST到PHP

时间:2011-11-22 01:39:33

标签: php jquery

我不知道我是不是愚蠢。我一直试图在过去1小时内解决这个问题。请帮忙!!

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="jquery.js" type="text/javascript"></script>
</head>

<body>
<div id="box" ></div>
<div id="box2"></div>

<script type="text/javascript">
  $(function(){
  $('#box').html("Test");

    //$('#box').attr('name','Indy');
    //var a= $('#box').attr('name');
    $.post(window.location, {name: 'John'});


});

</script>
</body>
</html>
<?php
print_r($_POST);
?>

如何传递值?我知道如果php在不同的文件中,这是有效的。但这不是这种情况。

3 个答案:

答案 0 :(得分:16)

您将看不到请求的结果,因为$.post()并且所有AJAX函数都在后台运行,而不会刷新页面。

至于发布到当前页面,只需使用窗口的位置:

$.post(window.location, {name: 'John'}, function(data) {
  alert('POST was successful. Server says: ' + data);
});

答案 1 :(得分:1)

$ .post是一个异步发布相同的php文件。您不会在页面正文中看到任何内容,因为

<?php
print_r($_POST);
?>

</html>标记之后。

如果您想要将某些内容发布到php文件中,然后对其进行处理并将结果显示在页面中,只需创建一个实际POST到php文件的表单即可。 AJAX并不总是正确的答案。

答案 2 :(得分:1)

您可以尝试将其插入到您的javascript代码中:

 $('some_button').click(function(){
      window.location = "http://your_site/page.php?name=John&var2="+param2;
 });

这段代码的作用是在url中添加一些参数,你可以使用GET在php页面中访问它。 例如:

 if(isset($_GET['name'])){
      echo $_GET['name'];
 }