Javascript 从ajax POST函数调用jquery ui对话框
在我正在进行的一个项目中,我决定使用jQueryUIDALOG模式来读取消息。 关键是要使它不需要刷新页面。如果使用以下命令,我可以调用该对话框:Javascript 从ajax POST函数调用jquery ui对话框,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,在我正在进行的一个项目中,我决定使用jQueryUIDALOG模式来读取消息。 关键是要使它不需要刷新页面。如果使用以下命令,我可以调用该对话框: <?php if (isset($_GET['var'])) ?> 此函数将数据发送到PHP页面,在该页面中提取消息信息: function message_popup(messageID, userID) { $.ajax({ type: 'GET',
<?php if (isset($_GET['var'])) ?>
此函数将数据发送到PHP页面,在该页面中提取消息信息:
function message_popup(messageID, userID)
{
$.ajax({
type: 'GET',
url: 'actions.php?type=readmessage',
data: 'messid=' + messageID + '&user=' + userID,
async: false,
success: function(msg){
console.log(msg);
}
});
}
在控制台中,它显示它正在提取正确的信息,甚至显示整个DIV元素,如下所示:
<div id='dialog-modal'>
<table style='width: 480px;'>
<tr>
<td style='width: 20%; text-align: left;'>
Sender:
</td>
<td style='text-align: center;'>
Admin
</td>
</tr>
<tr>
<td style='width: 20%; text-align: left;'>
Subject:
</td>
<td style='text-align: center;'>
No Subject
</td>
</tr>
<tr>
<td style='width: 20%; text-align: left; vertical-align: top;'>
Message:
</td>
<td style='text-align: center;'>
Just trying to see why the enter is showing up so weird. I guess it could be something to<br />do with the escaping method but I can't be sure. Hopefull I can fix it.
</td>
</tr>
</table>
</div>
因此,所有的信息都在那里,只是没有在屏幕上显示任何内容。将ajax结果包装在jquery对象中,并在其上调用dialog方法:in success callback
$(msg).dialog({...});
所以只需在ajax请求的成功回调中设置代码。你的问题是什么?好的,我明白了,您没有向DOM追加元素,所以选择器返回空对象。您可以在成功回调中尝试:$msg.dialog{…};问题是,它不显示对话框窗口。我试着将UI函数放入成功回调中,但没有效果。这非常有效!你能把答案贴出来吗?这样我就可以做正确的标记了?
$(msg).dialog({...});