加载$ .post中指示为url的页面

时间:2011-09-16 08:55:27

标签: php ajax jquery

好吧,我想加载第一个参数中指示但不确定在第三个参数中放置的页面

#page1.html
    <html>
    <head>
    <script type="text/javascript" src="jquery-1.6.3.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
      $("#btnSubmit").click(function(){

         $.ajaxSetup ({  
            cache: false  
         }); 

          $.post("test.php", { name: "John"}, what_am_i_placing_here );        
      });
    });
    </script>
    </head>


    <body>
    <input type="button" id="btnSubmit" value="submit">
    </body>

#test.php

    <?PHP
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $name = $_POST['name'];
    print "hello" . $name;
    }
    ?>

请你能给我一些关于我可以在第三个参数中放置什么样的值的链接?我只知道这一点。

http://api.jquery.com/jQuery.post/

但第三个是如此巨大我不知道在网上搜索什么,有些人用它来确认post / get是否成功,其他人用它来获取一些脚本。其他用它来回调,我不确定,如果它可以用来加载另一个页面。回复表示赞赏。

2 个答案:

答案 0 :(得分:0)

第三个参数的值是在返回数据时要调用的函数引用。在您的情况下,您可以执行以下操作:

$.post("test.php", { name: "John"}, function(pageData){
    $('body').html(pageData);
});

如果您想将返回页面的内容粘贴到页面正文标记中。

或者,你可以创建一个函数并传递该函数。所以,

function handlePageData(pageData){
    ... 
    do stuff with page data in javascript
    ...
}
...
$.post("test.php", { name: "John"}, handlePageData);

答案 1 :(得分:0)

您可以将回调放在那里。

$.post("test.php", 
          { name: "John"}, 
          function(data){
           alert(data);
          }      
 ); 

这会提醒hello John