我有这个函数,它将一些带有Ajax调用的数据放入php变量中。在放入数据时,我会显示一些消息,表明数据已放置,然后我会显示一小部分数据。
问题是,当Ajax调用仍然存在时,javascript显示它被放置的消息,因此我想要显示的部分数据还没有。
我有一个延迟几微秒的工作,暂停其余的javascript执行。但这并不能很好地发挥作用。
所以我遇到了ajaxComplete事件,但每次Ajax调用完成时都会执行,我只希望它在特定调用(我放置数据的地方)完成时执行。有没有办法做到这一点? 或者只有在Ajax调用完成后还有另一种方法来执行其余的JavaScript吗?
答案 0 :(得分:1)
您可以尝试调用同步放置数据的php函数,以便在完成所有数据的完成之后它不会返回。使用jQuery ajax函数,包括
async: false
在options参数中执行此操作。
大概你的现有代码是
//put data
//read data -this might be executed before all the data is put
但是通过同步调用,只有在数据完成时才会执行读取数据行。