2010-09-06 94 views
0

我正在开发一个在后台使用jquery和post方法的cakephp应用程序。jQuery速度太快(比mysql快)

当cakephp在后台发送post请求时,div必须刷新(或重新生成),并且必须显示新内容。

Post方法调用执行MySQL查询的其他php文件。该div也调用mysql,并从数据库中选择适当的数据。

问题是div在第一次mysql查询之前被刷新(或重新生成)。所以它工作正常,但我怎么能告诉该div“等待”一下,直到mysql查询被执行?

这里是我的代码...

$.post('/publications/deleteItem/' + valueClicked, function(data) { 
}, 'html'); 

$.post('/publications/getItems/' + val + '/' + val1, function(data) { 
    $("#relatedNumerationPublications").empty().append(data); 
}, 'html'); 

UPDATE: 确定,所以,我得在哪里的问题。像阿赫亚沙斯特里以下建议,tryed用:

$.post('/publications/deleteItem/' + valueClicked, function() { 
    $.post('/publications/getItems/' + val + '/' + val1, function(data) { 
     $("#relatedNumerationPublications").empty().append(data); 
    }, 'html'); 
}, 'html'); 

问题是起因响应为 '/出版物/ deleteItem /' + valueClicked是未找到网页。猜猜这是cakephp的原因(实际上,该页面存在,但cakephp返回它不是)。

是否有可能以某种方式跳过错误“页面未找到”,并继续使用代码?

+1

发布你的当前代码来清除东西:) – 2010-09-06 20:35:02

+2

这听起来像你不正当地试图返回的东西,而不是依靠回调。看到这里:http://stackoverflow.com/questions/3619888/jquery-ajax-request-inside-a-function-how-to-return-the-value-i-got/3619986#3619986和在这里:http:/ /stackoverflow.com/questions/3537434/cant-get-correct-return-value-from-an-jquery-ajax-call。 – 2010-09-06 20:46:38

+0

您是否有查看delete_ite.ctp用于返回json或直接从控制器返回?从你的文章中,我认为你错过了视图,因此cakePHP将显示错误。 – dqminh 2010-09-07 03:16:31

回答

2

你在哪里把你的regenerate功能?

我认为这应该是好的,如果你把它放在你的onSuccess回调函数。

2

Ajax调用是(根据定义)是异步的,所以如果你只是在ajax调用之后放置下一个javascript指令,你总会遇到这个问题。如上所述,使用onSuccess参数或同步ajax调用(我记得jquery提供了类似的东西)。

+1

你可以做同步ajax请求,但他们锁定浏览器,所以不鼓励。 – Douglas 2010-09-06 20:52:52

0

您可以在第一次SQL操作完成后经常进行Ajax轮询。只有在您从PHP返回一个新的投票价值后,才能进行再生。

+0

你可以检查我的代码,并帮助我如何实现。这是两个邮政电话.. – user198003 2010-09-06 21:57:09

0

只需拨打电话即可获取删除项目功能回调中的项目。像这样的东西 -

$.post('/publications/deleteItem/' + valueClicked, function() { 
    $.post('/publications/getItems/' + val + '/' + val1, function(data) { 
     $("#relatedNumerationPublications").empty().append(data); 
    }, 'html'); 
}, 'html'); 

现在,您的getItems将一直等到deleteItems结束。 (假设你没有使用异步后端技术!)

+0

你可以检查我原来的帖子的最后更新? TNX! – user198003 2010-09-06 22:31:03