我在AJAX POST操作后调用了一个视图。但我正在加载视图并调用数据库数据与正在写入的数据不同步。当我加载页面时,我查看数据库并查看数据,但它没有在页面上呈现。 (我试过会议并遇到同样的问题)。为了使视图实际呈现数据库中的数据,我需要实际刷新页面。与会话相同,我需要刷新页面以便呈现会话数据。是否有这种问题的共同参考?我读到了关于POSTBACK的内容,这是我需要进一步研究的内容吗?这基本上是一个奇怪的同步问题,直到我刷新页面并重新加载它才会生成数据。
答案 0 :(得分:2)
默认情况下,jQuery ajax调用是异步的。 javascript代码继续而不等待从服务器返回。
让我们看看:
$.post('source.php',function(valueFromPHP){
alert(valueFromPHP)
});
alert('Hello world')
在前面的示例中,Hello Wold
首先被警告,然后是来自php的值。
如果要将php中的返回值插入页面,则需要将所有代码放入sucess函数中:
$.post('source.php',function(valueFromPHP){
alert(valueFromPHP)
alert('Hello world')
});
在第二个示例中,首先提醒PHP返回值,然后Hello world
因此,如果要渲染从php接收的数据,请确保将代码放在success函数中。通常,这是我们在使用jQuery ajax时遇到错误的地方。
让我知道它是否有帮助!