我有一个主页,view.php。在此页面上,我对两个不同的页面有两个 ajax 请求。例如我有
<script>
functionName1(someData1,someDiv1)
</script>
在view.php中。它的作用是将数据和 div 传递到 jQuery 函数中,该函数将请求另一个 php 文件(php 文件 1)并传入数据以创建一些 HTML 并在数据库中进行一些更改,然后在分区。
然后在上面的代码之后的某个地方,我有
<script>
functionName2(someData2,someDiv2)
</script>
在view.php中。它可能会将一些其他数据传递到另一个 php 文件(php 文件 2)并创建 HTML 并在 someDiv2 中回显。
Ajax 1 将在数据库中进行更改,并且 ajax 2 创建的 HTML 应该反射(reflect)此更改。但问题是,不会。 HTML 似乎数据库中没有任何更改,但我知道它已更改,因为我检查了数据库。我访问php文件2并通过url传入数据,它可以创建正确的HTML。所以我不明白为什么当我将这两个ajax放在同一个页面(view.php)中时它不起作用。
我尝试过的一件事是在 php 文件 2 中休眠几秒钟,然后它将创建反射(reflect)数据库更改的正确 HTML。所以我想知道问题是否是第二个ajax请求与第一个ajax请求如此接近,以至于第一个ajax请求所做的更改没有被数据库保存(我自己非常怀疑这一点,但还有什么)。
最佳答案
像这样的事情是在 ajax 调用中禁用异步的一种迂回选择,但它可能对你有用。
$.ajax({
url: "test.html",
})
.done(function() {
$.ajax({
url: "test2.html",
});
});
关于php - 同一页面上有两个ajax,但第二个没有得到第一个已更改的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24128850/