脚本宝典收集整理的这篇文章主要介绍了php – Ajax调用面临一个尴尬的局面,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我必须将一个数据库记录添加到一个主表中,比如测试表.在向此表添加记录后,我想要它的最后一个插入ID,然后想要在事务表中添加大约1000个条目(也将EMaiLS发送到这1000条记录),让我们说test_transaction表.
但是这第二个操作,将记录添加到事务表中,需要更多的时间来向数据库添加记录.我正在使用客户MVC,我的代码看起来像……
public function addtotest() { $strsql = "INSERT INTO test ..."; $intId = $this->db->execute($strsql); foreach($arrTransaction $transact) { $strsql = "INSERT INTO test_transaction ..."; $this->db->execute($strsql); } echo $intId; }
所以我想把test_transaction表的条目放到另一个动作中,如下所示
public function testtrancation() { $id = $_REQUEST['id']; //IT's understood that I am doing PRoPEr validation here foreach($arrTransaction $transact) { $strsql = "INSERT INTO test_transaction ..."; $this->db->execute($strsql); } }
所以主要的问题是,我正在调用来自AJAX的addtotest动作,当它响应id时,我想调用另一个AJAX,它将向数据库添加大约1000条记录.
但我不想让他们等待另外几分钟的1000条记录来打扰用户的体验.
>所以我正在通过addtotest`AJAX’调用添加记录后重新加载页面.
>在addtotest中成功调用另一个AJAX调用.
>在调用testtransaction AJAX调用之后,我正在重新加载我的页面.
$.ajax( { url: SERVER_PATH + 'addtotest',type: 'post',async: true,data: { required_data: required_date },success:function(data) { alert('Record added successfully.'); //I DO NOT WANT USERS TO WAIT FOR THIS AJAX CALL $.ajax( { url: SERVER_PATH + 'testtransaction',data: { intId: data.id },success:function(data) { //DO NOTHING },}); //I DO NOT WANT USERS TO WAIT FOR THIS AJAX CALL location.reload(); },});
例子 –
CREATE TRIGGER trg_Table1_INSERT ON dbo.Table1 AFTER INSERT AS BEgin INSERT INTO dbo.Table2(SerialNo,Name) SELECT SerialNo,Name From Inserted INSERT INTO dbo.Table3(SomeOtherCol) SELECT SomeOtherCol From Inserted END
以上是脚本宝典为你收集整理的php – Ajax调用面临一个尴尬的局面全部内容,希望文章能够帮你解决php – Ajax调用面临一个尴尬的局面所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。