将ajax请求发送到Jquery Dialog中的一个文件



我正在尝试向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)中,我放置了打印post参数的代码。。。

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

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

 $.post('ajax/test.html', function(data) {
      $('#dialog').html(data);
    });

我不确定我是否正确理解了您的问题。但我觉得您希望在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()作为.html()的同义词?

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

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

在关注Sandeep的帖子后,我终于尝试了这个,这个似乎很有效:

$.post('window.php', {"username":"john"}, function(data) {
        $('#dialog').dialog({
        modal: false,                     
        height: 240,
        width: 400,
        title: 'Ajax Page'
        }).html(data);
        });

相关内容

最新更新