在javascript ajax调用之后调用了一个jquery
Called a jquery after javascript ajax call
我有这个返回ajax请求的javascript代码
function showUser(str)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("lister").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","popup.php?qq="+str,true);
xmlhttp.send();
}
我试图执行一个无法完成的jquery,除非ajax请求返回,但它不起作用
$('#scrollbar2').tinyscrollbar();
那么在 ajax 加载后我应该如何执行最后一个 jquery?
设置lister
的innerHTML
后将其放入回调中:
document.getElementById("lister").innerHTML = xmlhttp.responseText;
$('#scrollbar2').tinyscrollbar();
但是既然你有jQuery,为什么不使用它的Ajax功能呢?
$.ajax({
url: "popup.php",
data: { qq: str },
dataType: "text",
success: function(response) {
$('#lister').html(response);
$('#scrollbar2').tinyscrollbar();
}
});
在
onreadystatechange
回调中添加 jQuery 调用。 这样做的原因是 ajax 异步完成(根据其名称)。 可以这样想:
onAjaxComplete = function () {
// this will run second
}
// this will run first
依赖于 ajax 调用结果的所有工作都必须在回调中。
此外,由于您无论如何都在使用jQuery,因此您不妨使用他们的ajax API,这要简单得多。
function showUser(str) {
$.get("popup.php", "qq=" + str).done(function (responseText) {
$("#lister").html(responseText);
$("#scrollbar2").tinyscrollbar();
});
}
相关文章:
- 代码背后调用一个JavaScript函数的按钮点击-C#
- 在Javascript中对类的每个实例调用一个方法
- 调用一个“;默认瓦片”;在谷歌地图中
- 使用几个<脚本>标签不会't工作-只调用一个脚本
- NodeJS-从同一文件中的另一个方法调用一个方法
- 从我自己的脚本中包含的Javascript文件中调用一个函数
- 你能调用一个在调用者上下文中返回的函数吗
- 我需要在每5秒内调用一个函数,并重置持续时间
- 触发事件以调用一个函数'它在一个封闭的里面
- 每次数据表中的页面更改时调用一个函数
- 在带有参数列表的表单submit上调用一个方法
- 调用一个函数两次
- 我想在 javascript 中调用一个 php 函数,并在其中传递两个数组作为参数
- 从面板中调用一个在 ExtJs 中没有事件的方法
- 如何调用一个函数,其名称是通过在node.js中组合一些变量来动态创建的
- 动态弹出窗口'通过调用一个永远运行并返回's每个周期后的数据
- 通过javascript调用一个C#windows服务函数
- 从html中调用一个c++函数
- 你能用onblur事件调用一个外部Javascript吗
- 从javascript中调用一个c#函数