gpt4 book ai didi

如果使用 ajax 加载页面,则 Javascript 函数未定义错误

转载 作者:行者123 更新时间:2023-11-29 22:07:58 24 4
gpt4 key购买 nike

定义了函数。他们工作正常。在原始页面(没有 ajax)中,情况是:

<script>
$(document).ready( function(){
callA();
});

</script>


<script>
function callA(){..}
</script>

在这种情况下效果很好。但是如果使用 ajax 调用同一个页面,它会说

callA  is not defined

在 Firebug 控制台中。

我错过了什么吗?如果它不起作用,那么在第一种情况下它是如何工作的?

请帮忙。

编辑:这就是它的调用方式。

$.ajax({
url:selectedPortletURL,
method: "GET",
success: function(data)
{

$("#searchCriteriaDiv").html(data);
},
error: function(jqXHR, textStatus, errorThrown) {
alert("error:" + textStatus + " - exception:" + errorThrown);
}
});

最佳答案

jQuery ready 事件在文档准备就绪时触发(或者如果文档已经准备好,则在函数附加到它时立即触发)。

由于您是在文档准备好后将脚本元素添加到文档中,所以这是立即进行的。

第一个脚本元素首先被解析。就绪处理程序触发。 callA 未定义。

然后第二个脚本元素被解析。 callA 已定义,但为时已晚。


您需要重构您的代码。至少,我会将给定页面的所有内容都放入一个脚本中。理想情况下,我会重写它,以便将所有 JS 分离到一个脚本文件中,并使用 Ajax 加载结构化数据而不是 HTML 文档。

关于如果使用 ajax 加载页面,则 Javascript 函数未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19832561/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com