0

我正在尝试向 Jquery 对话框中加载的页面发送 ajax 请求。这是我的对话框代码:

$('#dialog').dialog({
        modal: false,
        open: function ()
        {
            $(this).load('window.php');
        },         
        height: 240,
        width: 400,
        title: 'Ajax Page'
    });

现在我的页面中有一个链接,单击时将 ajax 请求发送到“window.php”页面:

 $.post("window.php", { username: username }

在加载的页面(window.php)中,我输入了打印帖子参数的代码......

<?php
echo 'Hello world';
var_dump($_POST);
if(isset($_POST['username']))
{
echo ':: '.$_POST['username'];
}
?>

但令我惊讶的是,我没有在对话框的加载页面中打印任何请求参数。我只是得到Hello world。可能是什么问题?

4

4 回答 4

1

我不确定,如果我正确理解了您的问题。但是我觉得您希望将某些内容发布到 window.php 并且它的响应应该显示在对话框中。

你可以这样做:

最喜欢的

我正在尝试向 Jquery 对话框中加载的页面发送 ajax 请求。这是我的对话框代码:

$('#dialog').dialog({
    modal: false,
    open: function ()
    {
        $.ajax(function(){
            url:"window.php",
            data:{ 'username' : username},   // now depends from where you are bringing this username from
            type:"post",
            sucess:function(msg){
                $('#dialog').html(msg)
            }
        });
   },         
   height: 240,
   width: 400,
   title: 'Ajax Page'
});

我不明白用户的动机$.load()。Load 是在浏览器中完全加载某些内容时触发的事件。但是您在 Dialog 的 open 事件中调用它。您是否打算.load()用作 的同义词.html()

于 2012-03-03T09:25:57.707 回答
1
 $.post('ajax/test.html', function(data) {
      $('#dialog').html(data);
    });
于 2012-03-03T09:59:15.370 回答
0

添加 var_dump($_POST) 以查看问题所在。也许:

$.post("window.php", { 'username' : username }
于 2012-03-03T09:04:46.510 回答
0

最后我尝试了这个,在遵循 Sandeep 的帖子之后,这似乎有效:

$.post('window.php', {"username":"john"}, function(data) {

        $('#dialog').dialog({
        modal: false,                     
        height: 240,
        width: 400,
        title: 'Ajax Page'
        }).html(data);
        });
于 2012-03-03T10:14:08.970 回答