使用AJAX响应终止并发请求
Using AJAX Response to Terminate a Concurrent Request
假设我从jQuery向后端PHP脚本发出AJAX HTTP请求,该脚本在MySQL服务器上执行一些查询。在发出请求时,我想重新生成一个新请求,并在服务器端终止当前请求。
Script front-end.php包含:
function process(json) {
// iterate and display result
}
google.maps.event.addListener(map, 'idle', function () {
....
$.getJSON('back-end.php?id=$id&bounds=$bounds', process);
});
Script backend .php包含:
$id = // get current MySQL process id
// check and send request to terminate previous process if id is set
// send request to get data based on bounds criteria
echo json_encode(data);
我怎么能得到$id到脚本前端。php,以便我可以终止服务器上的前一个进程,只要我发出下一个?
您需要将此进程id保存在两个不同请求的公共位置。比如在文本文件、数据库表或后端memcache中。例如,第一个php请求启动您的进程,然后将进程id写入一个文件,如current_id.txt。然后第二个请求检查这个文件的id,然后杀死进程,然后在杀死后清空current_id.txt。
如果您需要在许多用户之间可复制,则必须有一种方法来识别它是具有会话变量或会话id本身的同一个人,并创建像<session_id>_process_id.txt
这样的文件,以便每个唯一用户可以相互独立地执行此操作。
相关文章:
- ajax请求的顺序总是不同的
- Meteor如何接收HTTP请求
- 有没有一种方法可以防止img get请求使用css或js发生
- 从ajax请求中获取javascript对象
- JSONP请求返回结果,但也触发error_callback
- 在localhost Dev Box上测试JSONP请求的最佳方式
- Ajax请求文档就绪会导致jquery加载缓慢
- PARSE-处理并发请求
- 使用node.js发送并发ajax请求的限制是什么
- jQuery 限制并发 AJAX 请求的数量
- AJAX -- 多个并发请求:延迟 AJAX 执行,直到某些调用完成
- 并发jQuery ajax请求中的重复数据
- 处理并发Ajax请求
- 如何用jQuery实现并发Ajax请求的发布和评论机制
- 使用AJAX响应终止并发请求
- Javascript BlueBird Promises:并发API请求的架构
- 并发AJAX请求和响应功能
- 如果并发调用请求仍在加载数据,如何等待async angularJS调用完成
- 来自 API 的 2 个并发请求数据被混淆
- jQuery在并发ajax请求/then/失败时:哪个请求失败