我正在尝试向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);
});