TD点击时我用JS干了一件事,但是后台程序也同事干了一件事,可惜的是程序先执行JS在执行后台的程序
我想让我的JS后执行,注意不改动后来程序,只改动我的JS,我试着写了等待2秒,原以为这样就会先执行后台程序,结果人家也在那等,硬是等我的JS执行完了才执行后台程序。试问大...
我想让我的JS后执行,注意不改动后来程序,只改动我的JS,我试着写了等待2秒,原以为这样就会先执行后台程序,结果人家也在那等,硬是等我的JS执行完了才执行后台程序。试问大神们还有什么办法没。
展开
5个回答
展开全部
肯定是那样的撒,js是单线程的语言,也就是执行完了这个才能执行下一步,若想实现楼主的要求,可以再开了线程,也就是流行甚广的ajax,把楼主想要的执行的js代码放到ajax回调函数里,这也就可以解决。
更多追问追答
追问
开个线程? 两个不同地方的不同语言,修改了同一个地方的值,只不过我的JS先执行了,我想让JS后执行。像您说的开个线程,怎么控制JS和后台程序啊 呵呵。 不懂!
追答
举个例子做参考吧
function tel() {
var tel = false;
try {
tel = new XMLHttpRequest();
} catch(e) {
//针对ie浏览器
try {
tel = new ActiveXObject('Msxml2.XMLHTTP');//ie8
} catch(e) {
try {
tel = new ActiveXObject('Microsoft.XMLHTTP');
} catch(e) {
alert('你的浏览器不支持ajax');
}
}
}
return tel;
}
function ajax() {
var nokia = tel();
nokia.open('GET','response.html?' + Math.random(),true);
nokia.onreadystatechange = function () {
if(this.readyState==4&&this.status==200) {
//这里可以把代码放进去
}
}
nokia.send(null);
}
展开全部
很简单
你写个ajax,调用他的后台方法,等success回来之后,再执行你的js,就行了
你写个ajax,调用他的后台方法,等success回来之后,再执行你的js,就行了
追问
你说的这个在我这边有点不太可能,因为我用的wicket框架,像你说的这种方法 我还无从下手啊。
追答
不能吧,为什么写不出个ajax来?ajax跟框架有关系吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试一试用这种方法吧!
window.onload=function(){ 要运行的JS函数名 }
window.onload=function(){ 要运行的JS函数名 }
追问
是鼠标点击事件,不是页面加载。我没刷新页面,只是点击了一下。我的JS所做的事和后台程序所做的事控制了同一个地方,JS先执行了,后台程序后执行了,我的程序没用到线程。我想让我的JS后执行而已。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看写在window.onload 里面咋样,我记的执行顺序是先执行后台代码,再执行页面加载事件
追问
是鼠标点击事件,不是页面加载。我没刷新页面,只是点击了一下。我的JS所做的事和后台程序所做的事控制了同一个地方,JS先执行了,后台程序后执行了,我的程序没用到线程。我想让我的JS后执行而已。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ajax正解。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询