如果您收到的内容是:
<script type="text/javascript">
$(document).ready(
function() {
alert("My alert")
});
</script>
您div
是空的,因为您没有收到任何 Html,而只收到了脚本内容,在将内容传递给.html()
目标元素之前将其剥离。
您是否希望脚本内容在#alert-container
div 中呈现,或者您是否希望脚本在.load()
请求期间执行?
编辑
根据在 AJAX 请求中运行的一些 php,有什么好的方法可以有条件地弹出警报?
根据load()
http://api.jquery.com/load/,您似乎可以使用回调来断言返回值,然后在调用成功时弹出警报。在返回的任何 html 呈现到目标元素后执行成功回调。
$('#alert-container').load("post-bid.php", data, function(responseText, textStatus, XMLHttpRequest){
// textStatus = 'success' if the call was successful.
if(textStatus == 'success'){
alert("My alert");
}
});
此外,如果您查看文档的底部,还有一个关于如何处理错误的示例。
编辑
我不希望 AJAX 请求成功时弹出警报。我希望在 AJAX 请求的一些 php 代码运行后弹出警报。我希望警报来自这个 php 代码,而不是来自 load() 函数
在那种情况下,我会重新考虑设计。您的 php 应该只返回要显示的消息,并让调用代码担心how
显示它。
您可以为此使用ajax 帖子。
$.post('post-bid.php', data, function(message){
if(message.length > 0)
{
alert(message);
}
});