将AJAX变量传递到同一页面上的Jquery ui对话框

时间:2011-09-09 15:55:13

标签: php javascript ajax

现在我在页面上有一个ui对话框,我需要一些方法通过AJAX将javascript变量传递给对话框中的php。这是我的代码:

$('.user').click(function(){
    var user = getID($(this).attr('id'),'User');
    $.ajax({   
        type: "POST",   
        url: "test.php",   
        data: 'user=' + user,
        success: function(){
            $("#dialog").dialog('open');
        }
    });
});

和PHP的开头:

    <?php

        if(isset($_POST['user'])){
            echo '<center><b>User: '.ucfirst($_POST['user']).'</b></center><br />';
        }

问题是,它只是没有通过。我对Ajax很新,所以我确定我搞砸了。

2 个答案:

答案 0 :(得分:0)

这不起作用,因为您没有指定返回变量,请参阅带有更正的代码:

$('.user').click(function(){
var user = getID($(this).attr('id'),'User');
$.ajax({   
    type: "POST",   
    url: "test.php",   
    data: 'user=' + user,
    success: function(data){ // Here you specify the callback variable from the AJAX call
        alert(data); // Here will show '<center><b>User: UserExample </b></center><br />';
        $("#dialog").dialog('open');
    }
   });
});

答案 1 :(得分:-1)

您可以将对话框内容加载到Userpage.php这样的页面,然后将User作为url参数传递

$('.user').click(function(){
    var user = getID($(this).attr('id'),'User');
    $.ajax({   
        type: "POST",   
        url: "test.php",   
        data: 'user=' + user,
        success: function(){
            $("#dialog").load('/userpage.php?User=' + user).dialog('open');
        }
    });
});